Java Connection.rollback()方法:事務回滾

2020-07-16 10:04:50
Java Connection.rollback() 方法用於取消在當前事務中進行的更改,並釋放當前 Connection 物件持有的所有資料庫鎖。此方法只有在手動事務模式下才可用。

語法1

rollback()

範例

下面的程式碼利用 rollback 方法復原對記錄的刪除操作。
Connection conn = ……  //省略部分程式碼
conn.setAutoCommit(false);  //先將事務設為手動提交
Statement st = conn.createStatement();
String sql = "DELETE FROM users WHERE username='xiaoli'";
st.execute(sql);
conn.roolback();  //將事務回滾

語法2

rollback(Savepoint savepoint)

引數說明:
  • savepoint:要回滾到的 Savepoint 物件。

範例

本範例呼叫 Connection 的 roolback() 方法取消所有設定給定 Savepoint 物件之後進行的更改。
Connection conn = ……  //省略部分程式碼
conn.setAutoCommit(false);  //先將事務設為手動提交
Statement st = conn.createStatement();
String sql = "DELETE FROM users WHERE username='xiaoli'";
st.execute(sql);
conn.roolback(spName);  //將事務回滾到儲存點