public void updateBatch(String sql,
List<Customer> list) {
try {
conn = this.getConn();
conn.setAutoCommit(false);
ps = conn.prepareStatement(sql);
for(int i = 0; i<list.size();i++){
ps.setObject(1,list.get(i).getId());
ps.addBatch();
if(i==50){
ps.executeBatch();
}
}
ps.executeBatch();
conn.commit();
conn.setAutoCommit(true);
} catch (SQLException e) {
try {
if(conn!=null){
conn.rollback();
conn.setAutoCommit(true);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
}
通过把一个个需要更新的对象放到addBatch里面 到50个的时候 一起更新 少于50个的时候直接一起更新.