标签:总结 事务管理 事务 一个 Spring 传播 重复 提交 要么
什么是事务
- 在数据库 一组操作中 要么全部成功 要么全部失败 简单说 就是增删改查 要么全部成功 要么全部失败
事务有什么特性ACID
- 原子性:原子性不可分割 整个操作要么都成功 要么都失败
- 一致性:数据 事务前后的数据保持一致
- 持久性:指事务一旦被提交 就无法被修改
- 隔离性:两个事务之间 并发访问的情况
隔离有什么问题
- 脏读:一个事务读到另一个事务没有提交的数据
- 不可重复读:一个事务读到另一个事务已经提交的事务(update)
- 幻读:一个事务读到另一个事务已经提交的事务(insert)
隔离级别有哪些
- 读未提交:一个事务读到另一个事务没有提交的数据(存放3个问题 解决0个问题)
- 读已提交:一个事务读到另一个事务已经提交的数据(存放2个问题 解决1个问题 脏读)
- 可重复读:在一个事务中读到的数据是重复的(存放1个问题 解决2个问题 脏读 不可重复读)
- 串行化:单事务(存放0个问题 解决3个问题 脏读 不可重复读 幻读)
对比:
性能:读未提交 > 读已提交 > 可重复读 > 串行化
安全:串行化 < 可重复读 < 读已提交 < 读未提交
默认隔离级别:
——mysql:可重复读
——Oracle:读已提交(Oracle有自己的一套安全管理事务)
事务管理平台管理器【重点】
在spring-tx里面有一个事务管理平台管理器中 有一个getTransaction方法 参数是一TransactionDefinition事务定义
事务定义中有隔离级别 传播行为等
什么是传播行为?
一个事务调用另一个事务 事务共享问题
标签:总结,事务管理,事务,一个,Spring,传播,重复,提交,要么 来源: https://blog.csdn.net/weixin_45481821/article/details/121706241
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。