JDBC中事务管理需要手动开启,默认连接是不开启事务的。
JDBC中,开始事务的语句是Connection对象的setAutoCommit方法
connection.setAutoCommit(false); //开启事务管理
默认JDBC在断开连接的时候会自动提交事务,所以开启事务管理后,一定要在提交事务之后再关闭Connection对象,提交事务是Connection对象的commit方法
connection.commit(); //先提交事务 connection.close(); //再关闭Connection对象 : 关闭应该在finally中,代码只是起到示例的作用
开启事务后,如果出现了异常,那么事务要进行回滚,回滚是Connection对象的rollback方法,回滚要写在处理异常的catch中。
connection.rollback(); //事务回滚 要写在异常处理中
如果使用的数据库连接池,需要恢复自动提交的状态,因为并不会真正的关闭Connection对象,为了不影响其他sql的使用。
connection.setAutoCommit(true); //还原Connection对象为自动提交事务