该方法用于取消在当前事务中进行的更改,并释放当前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); //将事务回滚到保存点