Java实现批量插入
//方法执行的开始时间
long startTime = System.currentTimeMillis();
Connection conn = null;
try{
//获取连接
conn = getConnection();
//设置不自动提交
conn.setAutoCommit(false);
//准备执行的SQL
PreparedStatement stmt = conn.prepareStatement("INSERT INTO student_tmp VALUES (?,?,?)");
//循环插入100万条数据
for (int i = 0; i < 1000000; i++){
stmt.setInt( 1, i );
stmt.setString( 2, "小明" + i );
stmt.setString( 3, i + "班")
if( i/100000 == 0 ){
//每10万条数据提交一次
stmt.executeBatch();
conn.commit();
}
//提交最后一次的数据,防止有数据未提交
stmt.executeBatch();
conn.commit();
} catch (Exception e) {
//出现异常回滚事务
conn.rollback();
e.printStackTrace();
} finnally {
//断开连接
conn.close();
//方法执行的结束时间
long endTime = System.currentTimeMillis();
System.out.println("方法执行的时间:" + (endTime - startTime) + "ms" );
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步