ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring之事务管理总结

2021-12-03 21:01:26  阅读:160  来源: 互联网

标签:总结 事务管理 事务 一个 Spring 传播 重复 提交 要么


什么是事务

  •         在数据库 一组操作中 要么全部成功 要么全部失败 简单说 就是增删改查 要么全部成功 要么全部失败

事务有什么特性ACID

  •  原子性:原子性不可分割 整个操作要么都成功 要么都失败
  • 一致性:数据 事务前后的数据保持一致
  • 持久性:指事务一旦被提交 就无法被修改
  • 隔离性:两个事务之间 并发访问的情况

        

隔离有什么问题

  • 脏读:一个事务读到另一个事务没有提交的数据
  • 不可重复读:一个事务读到另一个事务已经提交的事务(update)
  • 幻读:一个事务读到另一个事务已经提交的事务(insert)

 隔离级别有哪些

  • 读未提交:一个事务读到另一个事务没有提交的数据(存放3个问题 解决0个问题)
  • 读已提交:一个事务读到另一个事务已经提交的数据(存放2个问题 解决1个问题 脏读)
  • 可重复读:在一个事务中读到的数据是重复的(存放1个问题 解决2个问题 脏读 不可重复读)
  • 串行化:单事务(存放0个问题 解决3个问题 脏读 不可重复读 幻读)

对比:

        性能:读未提交  >  读已提交  >  可重复读  >  串行化

        安全:串行化  <  可重复读  <  读已提交  <  读未提交

默认隔离级别:

        ——mysql:可重复读

        ——Oracle:读已提交(Oracle有自己的一套安全管理事务)

事务管理平台管理器【重点】

在spring-tx里面有一个事务管理平台管理器中 有一个getTransaction方法 参数是一TransactionDefinition事务定义

 事务定义中有隔离级别 传播行为等

什么是传播行为?

        一个事务调用另一个事务 事务共享问题

具体的事务传播行为:【Spring学习34】Spring事务(4):事务属性之7种传播行为_程序老兵的博客-CSDN博客事务传播行为什么叫事务传播行为?听起来挺高端的,其实很简单。 即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。 例如:methodA事务方法调用methodB事务方法时,methodB是继续在调用者methodA的事务中运行呢,还是为自己开启一个https://blog.csdn.net/soonfly/article/details/70305683?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163853586116780357245908%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163853586116780357245908&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-70305683.pc_search_result_control_group&utm_term=%E4%BA%8B%E5%8A%A1%E4%BC%A0%E6%92%AD%E8%A1%8C%E4%B8%BA&spm=1018.2226.3001.4187

标签:总结,事务管理,事务,一个,Spring,传播,重复,提交,要么
来源: https://blog.csdn.net/weixin_45481821/article/details/121706241

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有