版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库事务与并发处理,教学内容,数据库事务的概念 声明事务边界 并发问题 设置事务隔离级别 使用悲观锁解决并发问题 使用乐观锁解决并发问题,数据库事务的概念,事务是指一组相互依赖的操作行为,如银行交易,股票交易或网上购物。事务的成功取决于这些相互依赖的操作行为是否都能执行成功,只要有一个操作行为失败,就意味着整个事务的失败,例如:Tony到银行办理转帐事务,把100元钱转到jack的帐号上,这个事务包含以下操作行为: 1.从tom的帐户上减去100元。 2.往jack的帐户上增加100元。 以上两个操作必需作为一个不可分割的工作单元,任何一个行为的失败整个转帐都不会成功。 数据库事务是对现实生
2、活中事务的模拟,它由一组在业务逻辑上相互依赖的SQL语句组成。,数据库事务的生命周期,声明事务的边界,事务的开始边界 事务的正常结束边界(COMMIT):提交事务,永久的保存被事务更新后的数据库状态。 事务的异常结束边界(ROLLBACK):撤销事务,使数据库退回到执行事务前的初始状态。,通过JDBC API来声明事务边界,Connection类提供了用于控制事务的方法: setAutoCommit(boolean autoCommit):设置是否自动提交事务 commit():提交事务 rollback():撤销事务,通过Hibernate API声明事务的边界,声明事务的开始边界 Tran
3、saction tx = session.beginTransaction(); 提交事务 mit(); 撤销事务 tx.roll,多个事务并发运行时的并发问题,单个事务能保证单项业务的数据完整性,但是当多个事务同步运行时可能带来并发问题,具体体现在: 第一类丢失更新:在撤销一个事务时,把其它事务提交的更新数据覆盖。 脏读:一个事务读到另一事务未提交的更新数据。 虚读:一个事务读到另一事务已提交的新插入的数据。 不可重复读:一个事务读到另一事务已提交的更新数据。 第二类丢失更新:这是不可重复读中的特例,一个事务覆盖另一事务已提交的更新数据。,第一类丢失问题,时 间 取款事务转账事务-T1 开始
4、事务T2 开始事务T3 查询账户余额为1000元T4 查询账户余额为1000元T5 汇入100元把余额改为1100元T6 提交事务T7 取出100元把余额改为900元T8 撤销事务余额恢复为1000元-,脏读问题,时 间 取款事务 转账事务-T1 开始事务T2 开始事务T3 查询账户余额为1000元T4T5 取出100元把余额改为900元T6 查询账户余额为900元(脏读)T7 撤销事务余额恢复为1000元 T8 汇入100元把余额改为1000元T9 提交事务-,虚读问题,时 间 注册事务 统计事务- T1 开始事务T2 开始事务 T3 统计注册客户总数为10000人 T4 注册一个新用户 T
5、5 提交事务T6 统计注册客户总数为10001人T7 到底哪一个统计数据有效?-,不可重复读,时 间 取款事务 转账事务-T1 开始事务 T2 开始事务 T3 查询账户余额为1000元 T4 查询账户余额为1000元 T5 取出100元把余额改为900元 T6 提交事务 T7查询账户余额为900元T8余额到底是1000元还是900元?-,第二类丢失更新,时 间 取款事务 转账事务-T1 开始事务 T2开始事务T3 查询账户余额为1000元 T4查询账户余额为1000元T5 取出100元把余额改为900元T6 提交事务T7 T8 汇入100元把余额改为1100元T9 提交事务-,数据库的事务隔离级别,隔离级别与并发性能的关系,设定隔离级别的原则,隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。 对于多数据应用程序,可以优先考虑把数据库系统的隔离级别设为Read Committed,它能够避免脏读,而且具有较好的并发性能。尽管它会导致不可重复读,虚读和第二类丢失更新这些并发问题,在可能出现这类问题的个别场合,可以由应用程序悲观锁和乐观锁来解决。,在hibernate中设置隔离级别,使用悲观锁,利用悲观锁协调并发事务,使用乐观锁,利用元素对Accounts表中的记录进行版本控制,利用元素对Acco
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位财会岗2026面试历年真题试卷及参考答案
- 2027年备考会计基础 【零基础学员必练】综合测验试题(备用卷)含答案
- 2026年湖南邮电职业技术学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年浙江国际海运职业技术学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年泰山职业技术学院高职单招笔试英语历年参考题库含答案解析
- 2026年河南艺术职业学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年河南地矿职业学院高职单招笔试职业技能测验历年参考题库含答案解析
- 2026年江西洪州职业学院高职单招笔试物理历年参考题库含答案解析
- 2026年江西工商职业技术学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年江苏财会职业学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 电商发展趋势课件
- 浙江省强基联盟2026-2027学年高二上学期10月阶段检测英语试卷(含解析)
- 2026新教材语文 第18课《昆明的雨》教学课件
- 校园欺凌事件分析调研报告(2026版)
- 2026中国人民大学学生就业创业指导中心招聘非事业编制工作人员1名笔试备考试题及答案解析
- 2026年中石化重型起重运输工程公司人员招聘考试备考试题及答案
- 2026-2027学年人教版九年级化学上册《6.1碳单质的多样性》同步练习题(带答案)
- 26新二上语文全册1-8单元一课一练(含答案)
- 2026年安徽省中考数学试卷(含答案)
- 普通高中美术课程标准(2017年版2025年修订)
- 雨课堂学堂在线学堂云《人工智能安全与伦理(北京航空航天)》单元测试考核答案
评论
0/150
提交评论