java 强行提交事务
时间: 2023-07-06 18:09:46 浏览: 116
在 Java 中,我们可以使用 `Connection` 对象的 `commit()` 方法显式提交事务。这个方法会将当前事务中的所有修改操作永久保存到数据库中。如果在事务中执行了多个 SQL 语句,只有当所有 SQL 语句都执行成功并且没有异常抛出时,才能调用 `commit()` 方法提交事务。
以下是一个示例:
```java
Connection conn = null;
try {
// 获取连接
conn = DriverManager.getConnection(url, username, password);
// 关闭自动提交
conn.setAutoCommit(false);
// 执行 SQL 语句
Statement stmt = conn.createStatement();
stmt.executeUpdate("UPDATE user SET age = 21 WHERE name = 'Tom'");
stmt.executeUpdate("UPDATE user SET age = 22 WHERE name = 'Jerry'");
// 提交事务
conn.commit();
} catch (SQLException e) {
// 回滚事务
if (conn != null) {
conn.rollback();
}
e.printStackTrace();
} finally {
// 关闭连接
if (conn != null) {
conn.close();
}
}
```
在上面的代码中,我们首先获取 Connection 对象,并关闭其自动提交功能。然后,我们执行两个更新 SQL 语句。最后,如果所有操作都成功完成,则调用 Connection 对象的 commit() 方法提交事务,否则回滚事务。
阅读全文