JDBC--批量处理
1、当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理,这样可以提高处理速度。
2、JDBC的批量处理语句包括两个方法:
--1)addBatch(String):添加需要批量处理的sql语句或参数;
--2)executeBatch();执行批量处理语句;
3、通常遇到以下两种情况时需要批量执行sql语句:
--1)多条sql语句的批量处理:
--2)一个sql语句的批量传参。
4、实例
public void testBatch(){ Connection conn = null; PreparedStatement ps = null; String sql = "INSERT INTO customers values(?, ?, ?)"; try{ conn = JDBCUtils.getConnection(); JDBCUtils.startTransaction(conn); ps = conn.prepareStatement(sql); Date date = new Date(new java.util.Date().getTime()); long start = System.currentTimeMillis(); for(int i = 0; i < 100000; i++){ ps.setInt(1, i + 1); ps.setString(2, "name_" + i); ps.setDate(3, date); ps.addBatch(); if((i + 1) % 300 == 0){ ps.executeBatch(); ps.clearBatch(); } } ps.executeBatch(); ps.clearBatch(); long end = System.currentTimeMillis(); System.out.println("Time: " + (end - start)); JDBCUtils.commit(conn); }catch(Exception e){ e.printStackTrace(); JDBCUtils.rollback(conn); }finally{ JDBCUtils.release(conn, ps, null); } }