package day2;
import java.sql.*;
public class BatchDemo {
/**
* @param args
*/
public static void main(String[] args) {
batch();
}
/**
* 向一个数据表temp_ning中插入100条记录
* for (int i = 1; i <= 100; i++)(
* insert into temp_ning values(i);
* }
*/
public static void batch(){
String sql = "insert into temp_ning values(?)";
Connection conn = ConnectionUtils.getConnection();
PreparedStatement stmt = null;
try{
conn.setAutoCommit(false);//关闭JDBC的自动提交
stmt = conn.prepareStatement(sql);
for(int i = 101; i <= 205; i++){
stmt.setInt(1, i);//insert into temp_ning values(1);
stmt.addBatch();//上一条赋值后的insert语句加入批处理列表
if (i % 10 == 0){ //每10条处理一次
stmt.executeBatch();
stmt.clearBatch();
}
}
//如果最后不足10条
stmt.executeBatch();//批量执行列表中的sql语句
conn.commit();//最后一起提交
conn.setAutoCommit(true);
}catch(Exception e){
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally{
ConnectionUtils.close(stmt);
ConnectionUtils.close(conn);
}
}
}