当然要啦。
判断batch的执行过程,如果出错,手动rollback因为executeBatch()可能是根据不同的驱动而发生不同的操作,在出错时可能会自动rollback,也可能会跳过出错的那条sql语句,继续执行。所以要自己手动地处理事务稳妥。
判断batch的执行过程,如果出错,手动rollback因为executeBatch()可能是根据不同的驱动而发生不同的操作,在出错时可能会自动rollback,也可能会跳过出错的那条sql语句,继续执行。所以要自己手动地处理事务稳妥。
一个批处理的执行作为一个事务对待。执行过程中如果失败,会滚至批处理前
一般做法是先关掉autocommit模式,然后执行。再恢复原来autocommit模式boolean autoCommit = con.getAutoCommit();
con.setAutoCommit( false );
........
addBatch
executeBatch();
........
con.setAutoCommit( autoCommit );