温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中如何使用Connection管理事务

发布时间:2022-05-31 17:07:16 来源:亿速云 阅读:555 作者: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管理事务”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI