先看看一个标准的JDBC例子伪代码:
|
开启手动事务的关键是con.setAutoCommit(false)
,JDBC事务默认是开启的,并且是自动提交:
- 关闭自动提交:
java.sql.Connection.setAutoCommit(false)
setAutoCommit(true)
:每次操作都会被认为是一个事务并且自动提交
- 手动提交事务:
con.commit()
; - 出现异常时回滚,不一定在catch语句中,只要在
con.commit()
前需要回滚时执行都可:con.rollback()
; - 关闭连接:
con.close();
- 设置事务隔离级别: java.sql.Connection#setTransactionIsolation
参考:https://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html