- 使用prepareStatement预加载
- 使用addbatch() + executeBatch() + clearBatch()
- 关闭事务自动提交,实现手动提交 Connection 的 setAutoCommit(false) / commit()
@Test
public void testInsert2() throws Exception{
long start = System.currentTimeMillis();
Connection conn = JDBCUtils.getConnection();
conn.setAutoCommit(false);
String sql = "insert into goods(name)values(?)";
PreparedStatement ps = conn.prepareStatement(sql);
for(int i = 1;i <= 1000000;i++){
ps.setString(1, "name_" + i);
ps.addBatch();
if(i % 500 == 0){
ps.executeBatch();
ps.clearBatch();
}
}
conn.commit();
long end = System.currentTimeMillis();
System.out.println("花费的时间为:" + (end - start));
JDBCUtils.closeResource(conn, ps);
}