首页 > 软件开发 > 编程语言 >

JDBC事务详解实例

来源:互联网 2023-03-17 00:27:49 218

JDBC事务详解实例MRK办公区 - 实用经验教程分享!

方法/步骤

  • 1

    1.事务,简单来说就是要死一起死要活一块活,共同进退,体现在数据操作上就是批量操作。MRK办公区 - 实用经验教程分享!

    首先新建testTransaction.java 单元测试类MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 2

    2.在做事务之前呢,先看下数据库数据,我们以7,8条数据为例MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 3

    3.我们想把7,8条数据(同时,注意是同时)更新为shiwu1 shiwu2, 没用事务之前代码如下:MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 4

    4.执行单元测试,输出如下,通过日志我们看到两条SQL都被执行掉了MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 5

    5.查看数据库数据,的确已经更新了MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 6

    6.但当代码中间出现异常,会怎样? 我先人为的插入一段异常代码,同时我们想把7,8,条数据更新为 shiwu3 shiwu4MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 7

    7.执行单元测试,发现失败了,但是从日志中看到第一条SQL执行了MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 8

    8.查看数据库数据发现,7条记录正常更新了,8条记录没有变化,这显然跟我们预期的不一样(我们想要的效果是同时变化或者同时不变化)MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 9

    9.这就要用到事务了,而事务的前提就是 操作必须发生在同一条数据库链接下的,而我们上边使用的Dao方法中的update则是每次执行都要获取下connection,显然两条SQL不是在同一条数据库连接下的。MRK办公区 - 实用经验教程分享!

    接下来我们修改update方法MRK办公区 - 实用经验教程分享!

    注意,这里不能关闭connection,而是交给调用它的方法去关闭。MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 10

    10.修改上边代码如下:把两条SQL的执行放在一个conn连接之下MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 10相关内容未经授权抓取自百度经验
  • 11

    11.填写事务代码,现在执行的话,肯定可以更新MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 12

    12.接下来添加日志和中间的异常。MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 13

    13.单元测试执行结果,发现第一条SQL执行完毕了,但是后来出现异常,又回滚了MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 14

    14.数据库是什么样子呢?没有变化,说明我们前边的操作都被回滚掉了MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 15

    15.总结事务的步骤如下:MRK办公区 - 实用经验教程分享!

    JDBC事务详解实例MRK办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!MRK办公区 - 实用经验教程分享!


    标签: 编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码