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<String, Object> 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<String,Object> map :list0){
pstm.setObject(1,map.get("a"));
pstm.setObject(1,map.get("b"));
pstm.addBatch();
}
int[] Status=pstm.executeBatch();
conn.commit();
今天用到就把它记录了下来,后续会把Mybatis的批量操作也纳入进来,有什么不对地方欢迎大家予以指正。