批处理
批处理的作用
一次和数据库交互过程中传输多条SQL语句或参数内容
减少和数据库交互次数,提升性能
批处理的使用
Statement
addBatch():将当前的SQL语句交给Statement
executeBatch():将多条SQL语句在一次和数据库交互过程中执行
PreparedStatement
addBatch():将当前参数内容交给PreparedStatement
executeBatch():将多条参数内容在一次和数据库交互过程中输入给数据库
使用
......
try{
/* 批处理要设置手动提交事务 */
conn.setAutoCommit(false);
pstmt = conn.prepareStatement(sql);
for(......){
/*pstmt的set方法*/
......
pstmt.addBatch();
}
pstmt.executeBatch();
/* 提交事务 */
conn.commit();
}catch (SQLException e) {
e.printStackTrace();
/* 如果操作出现问题,将回滚事务 */
try {
conn.rollback();
} catch (SQLException e1) {
}
} finally {
DBUtils.close(conn);
DBUtils.close(pstmt);
DBUtils.close(rs);
}