spring的事务管理
spring的事务管理
非白非黑 发表于8个月前
spring的事务管理
  • 发表于 8个月前
  • 阅读 15
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

spring事务是指一系列指令的集合,它必须服从ACID的原则,ACID指的是:原子性(atomicity),一致性(consistency),隔离性(isolation),持久性(durability),数据库为了解决隔离性导致的脏读,幻读,不可重复读等问题,引入四个隔离级别:

      1、ISOLATION_DEFAULT:这是一个platformTransactionManager默认的隔离级别,使用数据库默认的事务级别

      2、ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它允许另外一个事务可以看到这个事务未提交的数据

      这种隔离级别有可能会产生脏读,不可重复读和幻读的问题

      3、ISOLATION_READ_COMMITTED:保证一个事务修改的数据提交以后才能被另一个事务读取,另一个事务不能读取该事务未提交的数据

      4、ISOLATION_REPEATABLE_READ:这种事务隔离级别可以防止脏读,不可重复读,但有可能会出现幻读(可以防止一个事务不能读到另一个事务未提交的数据)

      5、ISOLATION_SERIALIZABLE  这是花费最高代价但是最可靠的事务隔离级别,事务被处理为顺序执行,可以防止脏读,不可重复读,幻读

其中ACID是指:

         原子性:操作这些指令时,要么全部执行成功,要么全部不执行,只要有一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态

        一致性:事务执行时从一个数据状态转换为另一个状态,但是对于整个数据的完整性保持稳定

        隔离性:在该事务执行的过程中,无论发生的任何数据改变都应该只是存在于该事务中,对外界不存在任何影响,只有在事务确定正确提交之后,才会显示该事务对数据的改变,其他事务才能获取这些改变后的数据

      持久性:当事务正确完成后,它对数据的改变是永久性的

spring管理的实现则是通过实现三个高层接口来实现的

            1、PlatformTransactionManager 平台事务管理器

            2、TransactionDefinition  事务定义信息

            3、TransactionStatus     事务状态信息

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 1
码字总数 577
×
非白非黑
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: