/**
*批量处理
*/
@Test
public void testBatch(){
Connection conn=null;
PreparedStatement preStatement=null;
try {
conn=JDBCTools.getConnecition();
//1,批量处理,可以理解为一个事物,所以,首先开启事物
JDBCTools.beginTx(conn);
String sql="insert into customer(id,name,work) values(?,?,?)";
preStatement=conn.prepareStatement(sql);
long begin=System.currentTimeMillis();
for(int i=0;i<10000;i++){
preStatement.setInt(1, i+1);
preStatement.setString(2, "name_"+i);
preStatement.setString(3, "work_"+i);
//1,积攒SQL
preStatement.addBatch();
//2,当积攒到一定的程度的时候,执行sql,并且清空先前积攒的Sql
if(((i+1)/300)==0){
preStatement.executeUpdate();
preStatement.clearBatch();
}
}
//3,事物结束的时候,可以提交事物
JDBCTools.commit(conn);
long end=System.currentTimeMillis();
System.out.println(end-begin);
} catch (Exception e) {
JDBCTools.rollback(conn);
e.printStackTrace();
}finally{
JDBCTools.release(null, conn, null);
}
}
}
*批量处理
*/
@Test
public void testBatch(){
Connection conn=null;
PreparedStatement preStatement=null;
try {
conn=JDBCTools.getConnecition();
//1,批量处理,可以理解为一个事物,所以,首先开启事物
JDBCTools.beginTx(conn);
String sql="insert into customer(id,name,work) values(?,?,?)";
preStatement=conn.prepareStatement(sql);
long begin=System.currentTimeMillis();
for(int i=0;i<10000;i++){
preStatement.setInt(1, i+1);
preStatement.setString(2, "name_"+i);
preStatement.setString(3, "work_"+i);
//1,积攒SQL
preStatement.addBatch();
//2,当积攒到一定的程度的时候,执行sql,并且清空先前积攒的Sql
if(((i+1)/300)==0){
preStatement.executeUpdate();
preStatement.clearBatch();
}
}
//3,事物结束的时候,可以提交事物
JDBCTools.commit(conn);
long end=System.currentTimeMillis();
System.out.println(end-begin);
} catch (Exception e) {
JDBCTools.rollback(conn);
e.printStackTrace();
}finally{
JDBCTools.release(null, conn, null);
}
}
}