在 Java 中,我们可以使用 JDBC 中的 Connection
对象来手动回滚事务。下面是一个简单的示例:
Connection conn = null;
try {
conn = DriverManager.getConnection(url, username, password);
conn.setAutoCommit(false); // 关闭自动提交
// 执行一系列数据库操作
conn.commit(); // 提交事务
} catch (SQLException e) {
if (conn != null) {
try {
conn.rollback(); // 回滚事务
} catch (SQLException ex) {
ex.printStackTrace();
}
}
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们首先通过 DriverManager.getConnection()
方法获取数据库连接,并设置 conn.setAutoCommit(false)
来关闭自动提交。然后在执行一系列数据库操作后,如果出现异常,就可以在 catch
块中调用 conn.rollback()
来手动回滚事务。最后在 finally
块中关闭连接。
这样就实现了在 Java 中手动回滚事务的操作。