首页 > 技术文章 > JDBC事务管理

linglongfang 2020-04-10 18:08 原文

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对象为自动提交事务

推荐阅读