一、五大隔离级别

  ISOLATION_READ_UNCOMMITTED:读未提交

  ISOLATION_READ_COMMITTED:读已提交

  ISOLATION_REPEATABLE_READ:可重复读

  ISOLATION_SERIALIZABLE:串行化

  ISOLATION_DEFAULT:默认的隔离级别(不解释)

脏读:A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作,这时候如果事务B回滚,那么A事务读到的数据是不被承认的

幻读:A事务读取B事务提交的新增数据,会引发幻读问题。幻读一般发生在计算统计数据的事务中,例如银行系统在同一个事务中两次统计存款账户的总金额,在两次统计中,刚好新增了一个存款账户,存入了100,这                     时候两次统计的总金额不一致。

不可重复读:不可重复读是指A事务读取了B事务已经提交的更改数据。假如A在取款事务的过程中,B往该账户转账100,A两次读取的余额发生不一致。

以上者三中情况如果和钱打上交易的话,那么就十分的恐怖了,可以幻想一下。

二、事物的其中传播行为

required:表示当前事务必须在一个有事务的上下文中运行,如果客户端有事务在运行,那么被调用端将在该事务中运行,否在重新开启一个事务(如果被调用端发生异常,那么,都将事务回滚。)

required_new:标识当前方法必须运行在它自己的事务中,一个新的事务启动,而且如果有一个现有的事务在运行的话,则这个事务将在运行期被挂起直到这个事务被提交或者回滚才执行

supports:表示当前方法不必须需要一个具有事物的额上下文,但是如果有的话,它也可以在这个事务中运行

not_supports:表示当前方法不应该在一个事务中运行,如果有的话,将被挂起,直到事务提交或者回滚才执行

mandatory:表示当前方法必须在一个事务中运行,没有的话将抛出异常

nested:表示当前方法正有一个事务在运行中,则该方法应该运行在一个嵌套事务中,被嵌套的事务应该独立于被封装的事务中进行提交或者回滚。如果分装事务存在,并且外层事务抛出异常回滚,那么内层事务必须回       滚,反之层事务不影响外层事务。如果封装事务不存在,则与required是一样的

never:表示该方法不应该运行在一个事务中,如果有,则抛出异常

四种隔离级别个七大传播行为看情况使用!!!!!!!!!!!!!  

spring:事务的5大隔离级别,7大传播行为的更多相关文章

  1. spring事务和mysql的隔离级别

    mysql事务.mysql隔离级别.mysql锁.mysql数据一致性.Spring事务.Spring事务传播性之间的关系 一直有些模糊,整理一下.   mysql事务: 在mysql中,只有使用了I ...

  2. Spring事务的5种隔离级别和7种传播性

    隔离级别 isolation,5 种: ISOLATION_DEFAULT,ISOLATION_READ_UNCOMMITTED,ISOLATION_READ_COMMITTED,ISOLATION_ ...

  3. Spring事务的5种隔离级别

    概述:isolation设定事务的隔离级别,事务管理器根据它来控制另外一个事务可以看到本事务内的哪些数据. 定义的5个不同的事务隔离级别: DEFAULT:默认的隔离级别,使用数据库默认的事务隔离级别 ...

  4. Spring事物隔离级别及事物传播行为@Transactional实现

    阅读本篇文章前,请先阅读如下文章: 四种事物隔离级别详解 先看下@Transactional可以配制那些参数及以其所代表的意义. isolation 枚举org.springframework.tra ...

  5. Mysql加锁过程详解(6)-数据库隔离级别(2)-通过例子理解事务的4种隔离级别

    Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...

  6. 网络协议 finally{ return问题 注入问题 jdbc注册驱动问题 PreparedStatement 连接池目的 1.2.1DBCP连接池 C3P0连接池 MYSQL两种方式进行实物管理 JDBC事务 DBUtils事务 ThreadLocal 事务特性 并发访问 隔离级别

    1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2 ...

  7. Java Web(八) 事务,安全问题及隔离级别

    事务 什么是事务? 事务就是一组原子性的SQL查询,或者说是一个独立的工作单元. 事务的作用 事务在我们平常的CRUD(增删改查)操作当中也许不太常用, 但是如果我们有一种需求,一组操作中必须全部成功 ...

  8. springmvc 事务控制与数据库隔离级别

    springmvc 事物传播与数据库隔离控制 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html 一.Propagation ...

  9. Spring 事物隔离级别,事物传播行为

    Spring 框架中对于事物的管理,主要定义了一下四种属性: 事物的隔离(Isolation)级别 事物的传播行为(Propagation Behavior) 事物的超时时间(TImeout) 是否为 ...

随机推荐

  1. vue组件传值 part2

    非父子组件传值 轻量级 视图层框架 复杂组件间传值,引进其他的工具或者设计模式 1.vuex 2.总线机制 //main line 1.在main.js中注册全局的bus Vue.prototype. ...

  2. UOJ #2 【NOI2014】起床困难综合症

    这道题我们设两个bitset(N和Y) \(N_i = cal(i,0) , Y_i=cal(i,1)\) cal(i) 即第i位经过题目中的计算后所得出来的值 然后贪心.倒序循环i,考虑第i位如何决 ...

  3. 16. docker 网络 端口映射

    一.本地操作 1.如何将 nginx 暴露给外界 创建 nginx 服务器 docker run  --name web -d nginx 查看 nginx 的 ip地址 docker network ...

  4. Python使用+和*操作符 连接2个列表和列表的复制

    + 操作符通常连接两个列表可以使用 +进行连接得到一个新列表 *操作符择可以用于一个列表和一个整数,实现列表的复制.

  5. 干货 | 玩转云文件存储——利用CFS实现web应用的共享访问

    京东云文件服务(Cloud File Service,以下简称:CFS)是一种高可靠.可扩展.可共享访问的全托管分布式文件系统.它可在不中断应用服务的情况下,根据您对文件系统的使用,按需扩展或缩减,并 ...

  6. java 连接mysql 示例

    import java.sql.*; public class Main { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL static final String JDBC ...

  7. 寒假day03-python

    今天完成了毕设登录注册.填报等功能的界面优化,同时总结了python网络课程的部分知识点 1.修改jupyter notebook默认路径:进入cmd:(1)cd /d F:\(2)jupyter n ...

  8. mysql慢SQL排查之show processlist和show full processlist

    mysql排查线上数据库问题,经常会用到 show processlist和show full processlist这两条命令 processlist命令的输出结果显示了有哪些线程在运行,不仅可以查 ...

  9. webpack快速使用笔记

    一.NPM1.NPM是随同NodeJS一起安装的包管理工具. http://www.1994july.club/?p=14542.安装npm install npm -gnpm -v 测试是否成功安装 ...

  10. tensorflow deeplabv3 训练自己的数据集

    https://blog.csdn.net/malvas/article/details/90776327