Mysql 数据批处理(excuteBatch)

来源:互联网 发布:录视频的软件 编辑:程序博客网 时间:2024/06/05 14:33

一、prepareStatment

    String sql = “insert into table values (?,?,?)”;

    PreparedStatement pStmt = conn.prepareStatement(sql);

    for (List<String> parametaList : recordList){

        for (int i = 0 ; i < parameterList.size() ; i++) {

            pStmt.set(i,parameterList.get(i));

        }

        pStamt.addBatch();

    }

    pStmt.excuteBatch();

二、statment

    stmt = conn.createStatment();

    for (String sql : sqlList)  {

        stmt.addBatch(sql);

    }

    stmt.excuteBatch();

=======================================

效率测试: 同时登录1000件,表中3个字段

前者:22953ms

后者:23312ms

注:尽量用第一种方式,这样可以避免sql注入,特殊字符处理等问题