qq_19641001
张泽新
2016-06-16 03:08

用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条回答