java中使用Connection管理事务

美女程序员鼓励师

在学习JDBC的有关内容后,我们知道可以用它来处理一些事务的问题。那么在具体事务的管理上,需要用到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管理事务的方法,大家在看懂具体的方法后,可以对代码部分进行运行,对有关操作做到熟练于心。更多Java学习指路:Java基础

以上是 java中使用Connection管理事务 的全部内容, 来源链接: utcz.com/z/543682.html

回到顶部