您现在的位置是:课程教程文章
java中使用Connection管理事务
2023-12-14 22:12课程教程文章 人已围观
-
Java零基础到高级全套视频下卷[springboot
Java零基础到高级全套视频下卷[springboot欢迎加入官方技术讨论群! 我所有课程的学习主线为:java基础--- 面向对象 -... -
深入浅出地了解Java的来世今生
深入浅出地了解Java的来世今生课程正式购买后, 添加老师微信:SY15335282196, 为您开通正式学习通道, 大家... -
042:JAVA初级开发
042:JAVA初级开发课程目标:培训信息技术工程师,成就编程梦想。 课程特色:最通俗、最精准... -
javascript高级课程及案例加讲义(优惠满
javascript高级课程及案例加讲义(优惠满斤斗云学堂是一款专业学习IT开发知识技能的慕课平台,由国内资深IT技术专家...
在学习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集合如何实现数组的转换
下一篇:没有了