我使用 JDBC,自动提交 = true。在其中一项操作中,我正在使用准备好的语句进行批量插入。
public void executeBatchInsert(String query, List<Object[]> entityList) {
try {
pstmt = conn.prepareStatement(query);
for(int i=0; i<entityList.size(); i++) {
int j=1;
for(Object o: entityList.get(i)) {
pstmt.setObject(j++, formatColumnValue(o));
}
pstmt.addBatch();
if((i+1)%1000 == 0) {
pstmt.executeBatch();
}
}
pstmt.executeBatch();
} catch (SQLException e) {
}
}
如果我在执行它时遇到异常,当我关闭这个连接时,所有的锁都会被释放并发生回滚吗?
——B. Teja。