使用数据库连接池写 批量操作(带事务)的代码,总是先把conn.setAutoCommit(false);
如果提交的代码出现异常,会执行conn.rollback()。还需要再设置setAutoCommit(true)吗?;
try {
conn = getConnection();
conn.setAutoCommit(false);
// 各种操作
stmt.executeBatch();
conn.commit();
stmt.clearBatch();
// 正常结束时设置回去了。
conn.setAutoCommit(true);
} catch (Exception e) {
if (conn != null) {
conn.rollback();
}
} finally {
if (conn != null) {
// 是否需要自己手动修改这句话?
conn.setAutoCommit(true);
conn.close();
}
}
不需要设置 conn.setAutoCommit(true);