高防服务器

java中如何使用Connection管理事务


java中如何使用Connection管理事务

发布时间:2022-05-31 17:07:16 来源:高防服务器网 阅读:52 作者:iii 栏目:大数据

本篇内容主要讲解“java中如何使用Connection管理事务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中如何使用Connection管理事务”吧!

1、管理事务

(1)开启事务setAutoCommit

调用该方法设置参数为false,即开启事务。

在执行sql之前开启事务。

(2)提交事务:commit()

当所有sql都执行完提交事务。

(3)回滚事务:rollback()

在catch中回滚事务。

2、实例

public static void main(String[] args) {          Connection conn = null;          PreparedStatement pstmt1 = null;          PreparedStatement pstmt2 = null;          try {              //1.获取连接              conn = JDBCUtils.getConnection();              //开启事务              conn.setAutoCommit(false);              //2.定义sql              //2.1 张三 - 500              String sql1 = "update account set balance = balance - ? where id = ?";              //2.2 李四 + 500              String sql2 = "update account set balance = balance + ? where id = ?";              //3.获取执行sql对象              pstmt1 = conn.prepareStatement(sql1);              pstmt2 = conn.prepareStatement(sql2);              //4. 设置参数              pstmt1.setDouble(1,500);              pstmt1.setInt(2,1);              pstmt2.setDouble(1,500);              pstmt2.setInt(2,2);              //5.执行sql              pstmt1.executeUpdate();              // 手动制造异常              int i = 3/0;              pstmt2.executeUpdate();              //提交事务              conn.commit();          } catch (Exception e) {              //事务回滚              try {                  if(conn != null) {                      conn.rollback();                  }              } catch (SQLException e1) {                  e1.printStackTrace();              }              e.printStackTrace();          }finally {                //关闭资源              JDBCUtils.close(pstmt1,conn);              JDBCUtils.close(pstmt2,null);          }

到此,相信大家对“java中如何使用Connection管理事务”有了更深的了解,不妨来实际操作一番吧!这里是高防服务器网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[