JDBC批量操作示例

1.jdbcTemplate实现批量处理:

//在批量更新中,根据JDBC 2.0规范,返回值为-2表示操作成功

int[]  statusArray0 = jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter(){

     @Override

     public int getBatchSize() {

          return list0.size();

     }

     @Override

     public void setValues(PreparedStatement pstm, int i)

              throws SQLException {

          Map map =list0.get(i);

          pstm.setObject(1,map.get("a"));

          pstm.setObject(2,map.get("b"));

     }

});

2.原生JDBC批量操作:

conn =Conn.getConnection();

conn.setAutoCommit(false);

pstm =conn.prepareStatement(sql);

for(Map map :list0){

     pstm.setObject(1,map.get("a"));

     pstm.setObject(1,map.get("b"));

     pstm.addBatch();

}

int[] Status=pstm.executeBatch();

conn.commit();

今天用到就把它记录了下来,后续会把Mybatis的批量操作也纳入进来,有什么不对地方欢迎大家予以指正。

你可能感兴趣的:(JDBC批量操作示例)