《Java开发实战经典》教师讲解031712 事务处理.pptVIP

《Java开发实战经典》教师讲解031712 事务处理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA 应用开发详解 第17章:Java数据库编程 —— 事务处理 本章目标 掌握MySQL中的事务处理操作命令 掌握JDBC中的事务处理步骤及实现 事务处理 事务处理在数据库开发中有着非常重要的作用,所谓的事务就是所有的操作要么一起成功,要么一起失败,事务本身具有:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)、持久性(Durabilily)四个特征,以上的四个特征,也被称为ACID特征。 原子性 原子性是事务最小的单元,是不可再分割的单元,相当于一个个小的数据库操作,这些操作必须同时完成,如果有一个失败了,则一切的操作将全部失败。如图所示,A转帐和B接帐分别是两个不可再分的操作,但是如果A的转帐失败,则B的操作也肯定无法成功。 一致性 指的是在数据库操作的前后是完全一致的,保证数据的有效性,如果事务正常操作则系统会维持有效性,如果事务出现了错误,则回到最原始状态,也要维持其有效性,这样保证事务开始时和结束时系统处于一致状态。如图所示,如果A和B转帐成功,则保持其一致性,如果现在A和B的转帐失败,则保持操作之前的一致性,即:A的钱不会减少,B的钱不会增加。 隔离性 多个事务可以同时进行且彼此之间无法访问,只有当事务完成最终操作的时候,才可以看见结果 持久性 当一个系统崩溃时,一个事务依然可以坚持提交,当一个事务完成后,操作的结果保存在磁盘中,永远不会被回滚。如图所示,所有的资金数都是保存在磁盘中,所以,即使系统发生了错误,用户的资金也不会减少。 MySQL对事务的支持 事务处理操作步骤 在MySQL中,如果要想应用事务处理的话,则应该按照以下的顺序输入命令: 取消自动提交,执行:SET AUTOCOMMIT=0。这样所有的更新指令并不会立刻发送到数据表中,而只存在于当前的session 开启事务,执行:START TRANSACTION或BEGIN 编写数据库更新语句,如:增加、修改、删除,可以在编写的更新语句之间记录事务的保存点,使用SAVEPOINT指令 提交事务,如果确信数据库的修改没有任何的错误,则使用COMMIT提交事务。在提交之前对数据库所做的全部操作都将保存在session之中 事务回滚,如果发现执行的SQL语句有错误,则使用ROLLBACK命令全部撤消,或者使用ROLLBACK TO SAVEPOINT 记录点,让其回滚到指定的位置 没有使用事务处理 JDBC事务操作步骤 在JDBC中,如果要想进行事务处理,也需要按照指定的步骤完成: 取消掉Connection中设置的自动提交方式:conn.setAutoCommit(false) ; 如果批处理操作成功,则执行提交事务:mit() ; 如果操作失败,则肯定会引发异常,在异常处理中让事务回滚:conn.rollback() ; 如果需要,可以设置Savepoint:Savepoint sp = conn.setSavepoint() ; 事务基本操作 加入SavePoint 下一章内容 E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 MLDN 软件教学研发部 回滚操作到保存点 ROLLBACK TO SAVEPOINT 保存点名称 8 设置事务保存点 SAVEPOINT 事务保存点名称 7 回滚全部操作 ROLLBACK 6 提交事务 COMMIT 5 启动事务,相当于执行START TRANSACTION BEGIN 4 启动事务 START TRANSACTION 3 打开自动提交处理,关闭事务处理 SET AUTOCOMMIT=1 2 取消掉自动提交处理,开启事务处理 SET AUTOCOMMIT=0 1 描述 命令 No. conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS); stmt = conn.createStatement(); // 实例化对象 // 加入5条SQL处理语句 stmt.addBatch(INSERT INTO user(name,password,age,sex,birthday) + VALUES (LXH-1,hello-1,11,男,1975-03-05)); stmt.addBatch(INSERT INTO user(name,password,age,sex,birthday) + VALUES (LXH-2,hello-2,12,女,1976-01-07)); // 第三个加入的预处理语句估计写错,将名字写成“LXH-3”,多了一个“” stmt.addBatch(INSER

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档