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); } } }