回炉重造之java基础篇:JDBC如何开启事务

jdbc demo

1
2
3
4
5
6
7
8
9
10
11
Connection conn = DriverManager.getConnection(...);
try{
con.setAutoCommit(false);
Statement stmt = con.createStatement();
//1 or more queries or updates
con.commit();
}catch(Exception e){
con.rollback();
}finally{
con.close();
}

1、关闭自动提交:java.sql.Connection.setAutoCommit(false)

setAutoCommit(true):每次操作都会被认为是一个事务并且自动提交

2、手动提交事务:con.commit();

3、出现异常时回滚,不一定在catch语句中,只要在con.commit()前需要回滚时执行都可:con.rollback();

4、关闭连接:con.close();

5、设置事务隔离级别: java.sql.Connection#setTransactionIsolation

参考:https://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html

分享到: