public class ShiWu {
public static void main(String[] args) {
//连接,连接池;
Connection connection = JdbcUtil.getConnection();
try {
//1.关闭自动提交
connection.setAutoCommit(false);
//2.更新的sql语句
String sql = "update work set age= age-3 where id = ?";
//3.调用预处理搬运工
PreparedStatement preparedStatement = connection.prepareStatement(sql);
//4.设置参数,并赋值
preparedStatement.setObject(1, 1);
//执行语句
int i = preparedStatement.executeUpdate();
System.out.println(i);
// int i2 = 10 / 0;
//更新sql的语句
String sql1 = "update work set age= age+3 where id = ?";
PreparedStatement preparedStatement1 = connection.prepareStatement(sql1);
preparedStatement1.setObject(1, 2);
int i1 = preparedStatement1.executeUpdate();
System.out.println(i1);
connection.commit();
} catch (SQLException e) {
try {
//如果抛出异常,返回原数据据。
connection.rollback();
} catch (SQLException ex) {
ex.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
JDBC中的事务,原子性,详解
最新推荐文章于 2025-11-26 15:59:01 发布
该代码示例展示了如何使用Java的JDBC进行数据库操作,包括关闭自动提交,执行SQL更新语句,设置参数,以及处理事务。在遇到异常时,它会回滚事务以保持数据一致性。

2246

被折叠的 条评论
为什么被折叠?



