如何执行一条数据插入后事务立刻提交java代码
时间: 2024-03-09 20:48:17 浏览: 126
在Java中,使用JDBC连接数据库进行事务处理时,需要通过设置自动提交属性和手动提交事务的方式来实现事务提交。以下是Java代码示例,演示如何执行一条数据插入后立即提交事务:
```java
import java.sql.*;
public class InsertData {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 连接数据库
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
conn.setAutoCommit(false); // 关闭自动提交事务
// 构造SQL语句
String sql = "INSERT INTO student(name, age) VALUES(?, ?)";
pstmt = conn.prepareStatement(sql);
// 设置参数
pstmt.setString(1, "Tom");
pstmt.setInt(2, 18);
// 执行插入操作
pstmt.executeUpdate();
conn.commit(); // 提交事务
} catch (SQLException e) {
e.printStackTrace();
try {
conn.rollback(); // 回滚事务
} catch (SQLException e1) {
e1.printStackTrace();
}
} finally {
// 关闭资源
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
在上述代码中,我们连接数据库后通过`conn.setAutoCommit(false)`关闭自动提交事务。接着,我们构造SQL语句并使用`PreparedStatement`对象设置参数,执行插入操作。在插入操作后,我们通过`conn.commit()`手动提交事务。如果在插入操作过程中出现异常,我们通过`conn.rollback()`回滚事务。最后,我们通过关闭资源的方式结束事务处理。
阅读全文