美文网首页
spring事物

spring事物

作者: setone | 来源:发表于2018-12-28 13:46 被阅读0次

事物的特性:

  1. 原子性
    :事物是一个不可分割的工作单位,事物中的操作要么都发生,要么都不发生
  2. 一致性
    :事物前后数据的完整性必须保持一致
  3. 隔离性
    :多个用户并发访问数据库时,一个用户的事物不能被其他用户的事物所干扰,多个并发事物之间的数据要相互隔离
  4. 持久性
    :事物一旦提交,数据就被保存到数据库里面

不考虑隔离会导致 脏度、不可重复读、幻读

名称 说明
脏读 一个事物读取了另一个事物改写但还未提交的数据,如果这些数据被混滚,则读取到的数据是无效的
不可重复读 在同一事物中,多次读取统一数据返回的结果有所不同
幻读 一个事物读取了几行记录后,另一个事物插入一些记录,幻读就发生了,在后来查询中,第一个失去就会发现原来没有的记录
隔离级别 说明
DEFAULT 使用数据库默认的级别(mysql默认REPEATABLE_READ)
READ_UNCOMMITED 允许你读取还未提交的改变了的数据,可能导致脏读,不可重复读,幻读
READ_COMMITED 允许在并发实物已经提交后读取。可防止脏读,但幻读和不可重复读仍可发生
REPEATABLE_READ 对相同字段的多次读取是一致的除非数据被食物本身改变。可防止脏、不可重复读,但幻读仍有可能发生
SERIALIZABLE 完全服从ACID的隔离级别,确保不发生脏,幻,不可重复读,这在所有的隔离级别是最慢的,他是典型的通过完全锁定在事物中涉及的数据表来完成的

事物的传播行为

解决业务层之间相互调用的行为

事物传播类型 说明
PROPAGATION_REQUIED 支持当前事物,如果不存在就新建一个
PROPAGATION_SUPPORTS 支持当前事物如果不存在就不使用事物
PROPAGATION_MANDATORY 支持当前事物,如果不存在抛出异常
PROPAGATION_REQUIRES_NEW 如果有事物存在,挂起当前事物,创建一个新的事物
PROPAGATION_NOT_SUPPORTED 以非事物方法运行 ,如果有事物存在,挂起当前事物
PROPAGATION_NEVER 以非实物方式运行,如果有事物存在,抛出异常
PROPAGATION_NESTED 如果当前事物存在,则嵌套事务

相关文章

  • spring事物

    spring 事物 是什么? spring 事物 有什么好处? spring 事物是如何实现的?

  • Spring 事物介绍(二)之 事物的传播机制

    Spring 事物介绍(二)之 事物的传播机制 Spring中对事物的支持 Spring 事物相关API: spr...

  • spring事物

    事物特性 ⑴原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操...

  • spring事物

    1、事物属性 事物属性主要是通过TransactionDefinition接口实现定义,主要有事物的隔离级别,事物...

  • spring事物

    事物的特性: 原子性:事物是一个不可分割的工作单位,事物中的操作要么都发生,要么都不发生 一致性:事物前后数据的完...

  • spring事物

  • spring 事物

    7000+字的Spring事务总结来啦!我饱了!https://juejin.im/post/5ebe682c51...

  • 2018-07-05

    ## 面试题:spring事物失效的9大原因 #### 1.spring事物实现方式及原理 Spring 事务的本...

  • 回眸Spring - 事物运行原理机制

    Spring的事物是如何运作的? 首先带着问题看源码: Spring的事物是通过哪些原理实现的? Spring的事...

  • Spring事物处理

    第十一讲、第十二讲 1.编程式事务管理 @Override public void transferAccount...

网友评论

      本文标题:spring事物

      本文链接:https://www.haomeiwen.com/subject/nvlslqtx.html