java代码事务提交代码
时间: 2024-08-16 07:03:52 浏览: 45
在Java中,事务通常是在JDBC(Java Database Connectivity)操作数据库时使用的,它保证了数据的一致性和完整性。事务的基本步骤包括开始(begin)、修改数据(update)、提交(commit)或回滚(rollback)。以下是使用JDBC的`Connection`对象进行基本事务管理的一个示例:
```java
try {
// 获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
// 设置自动提交为false,开启手动事务处理
conn.setAutoCommit(false);
// 开始事务
Statement stmt = conn.createStatement();
String sql = "INSERT INTO my_table (column1, column2) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "value1");
pstmt.setString(2, "value2");
pstmt.executeUpdate();
// 提交事务
conn.commit(); // 如果所有SQL语句都成功,将事务提交
} catch (SQLException e) {
// 发生异常时,回滚事务
try {
conn.rollback();
} finally {
e.printStackTrace();
}
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
if (pstmt != null) pstmt.close();
if (conn != null && !conn.isClosed()) conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
```
在这个例子中,如果所有数据库操作都顺利完成,调用`conn.commit()`会将事务保存到数据库;如果有任何异常发生,`catch`块内的`conn.rollback()`会取消之前的更改,防止数据不一致。
阅读全文