张泽新 2016-06-16 03:08 采纳率: 100%
浏览 1375
已采纳

用mysql做批处理,插入一万条数据,配置了任然打不开批处理

打开批处理
public class Pdao {
/**
* pstmt对象内部有集合
* 1. 用循环疯狂向pstmt中添加sql参数,它自己有模板,使用一组参数与模板罚没可以匹配出一条sql语句
* 2. 调用它的执行批方法,完成向数据库发送!
* @throws SQLException
*/
@Test
public void fun5() throws SQLException {
Connection con = JdbcUtils.getConnection();
String sql = "INSERT INTO t_stu VALUES(?,?,?,?)";
PreparedStatement pstmt = con.prepareStatement(sql);

    // 疯狂的添加参数
    for(int i = 0; i < 10000; i++) {
        pstmt.setInt(1, i+1);
        pstmt.setString(2, "stu_" + i);
        pstmt.setInt(3, i);
        pstmt.setString(4, i%2==0?"男":"女");

        pstmt.addBatch();//添加批!这一组参数就保存到集合中了。
    }
    long start = System.currentTimeMillis();
    pstmt.executeBatch();//执行批!
    long end = System.currentTimeMillis();

    System.out.println(end - start);//412764, 301
}

}

  • 写回答

2条回答 默认 最新

  • 张泽新 2016-06-16 07:04
    关注

    是我的驱动包,版本太低了,我换了一个驱动包就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?