mysql的传播特性_spring事务传播特性和mysql事务隔离级别

spring事务的传播特性--7种

REQUIRED

支持当前事务,如果没有事务会创建一个新的事务

SUPPORTS

支持当前事务,如果没有事务的话以非事务方式执行

MANDATORY(强制性)

支持当前事务,如果没有事务抛出异常

REQUIRES_NEW

创建一个新的事物并挂起当前事务

NOT_SUPPORTED

以非事务执行,如果当前有事务,则将当前事务挂起

NEVER

以非事务执行,如果存在事务,则抛出异常

NESTED(嵌套)

如果当前存在事务,则嵌套事务内执行,如果当前没有事务,则进行REQUIRED

案例:有事务指的是@Transactional(propagation = Propagation.REQUIRED),也就是默认事务

A:方法

method A(){

sql-a--//向stu表中插入数据;

method B();

}

B:方法

method(){

sql-b1--//向stu表中插入数据;

int a= 1/0;

sql-b2--//向stu表中插入数据;

}

1.REQUIRED解析:

​ 如果A方法上有事务,B方法没有事务,结果--一条数据都添加不进去(A方法有了事务,B方法不管有没有事务,都是A事务执行。)

​ 如果A方法没有事务,B方法有事务,则a的数据会添加成功,B的回滚。

2.SUPPORTS解析:

​ 如果A方法有事务,B方法是SUPPORTS,结果为:一条都添加不进去。(A有事务,B是支持事务,B也会使用A的事务)。

​ 如果A没有事务,B为SUPPORTS,结果:a的sql和b1的sql会执行成功(就是没有事务)表里会有a,b1的数据

3.MANDATORY解析:

​ 如果A有事务,B为MANDATORY,结果:一条都加不进去(A有事务,B为强制事务,会加入A的事务)

​ 如果A没有事务,B为MANDATORY,结果:抛出异常:IllegalTransactionStateException,a的数据添加成功。

4.REQUIRES_NEW解析:

​ 如果A有事务,B为REQUIRES_NEW,结果:全部回滚,

​ 如果A没有事务,B为REQUIRES_NEW,结果:a数据添加成功,B方法的全部回滚

5.NOT_SUPPORTED解析:

​ 如果A有事务,B为NOT_SUPPORTED,结果:A的结果回滚,B为不用事务执行。

​ 如果A没有事务,B为NOT_SUPPORTED,结果,全部不用回滚(就是非事务)

6.NEVER解析:

​ 如果A有事务,B为NEVER,结果:全部回滚,

7.NESTED:

​ 如果A有事务,B为NESTED,结果:全部回滚。

​ 如果A没有事务,B为NESTED,结果:a添加成功,b失败回滚(也就是以事务执行)

Mysql的事务隔离级别(4种)

read uncommitted(读未提交)

事务中的修改,即使没有提交也被其他事务读取到,这种情况也叫脏读。

read committed(读已提交)

一个事务开始时,只能看到已经提交的事务所做的修改。两次执行同样的查询,可能会得到不同的结果

repeatable read(可重复读)

会产生幻读。当某个事物在读取某个范围的记录时,另一个事务又在该范围内插入新的记录,当之前的事务再次读取该范围的记录时,会产生幻行。

serializable(可串行化,默认最高级别)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【 HDU - 5093】Battle ships(匈牙利算法,二分图匹配)

题干: Dear contestant, now you are an excellent navy commander, who is responsible of a tough mission currently. Your fleet unfortunately encountered an enemy fleet near the South Pole where the geographical conditions are negative for both si…

【HDU - 5090】Game with Pearls (匈牙利算法,二分图匹配)

题干: Tom and Jerry are playing a game with tubes and pearls. The rule of the game is: 1) Tom and Jerry come up together with a number K. 2) Tom provides N tubes. Within each tube, there are several pearls. The number of pearls in each tube i…

qt同时连接oracle和mysql_QT连接Oracle和Mysql的详细步骤,已成功~!

近几天一直在整QT的数据库连接这一块。因为QT是开源的,所以涉及的连接Oracle及Mysql的驱动都必须自己编译生成。通过不断的测试、调试,终于把QT连接Oracle和Mysql的驱动编译生成好了。QT环境:Qt 4.6.0打开Qt Command Prompt,开始菜…

【POJ - 2632】Crashing Robots(模拟)

题干: In a modernized warehouse, robots are used to fetch the goods. Careful planning is needed to ensure that the robots reach their destinations without crashing into each other. Of course, all warehouses are rectangular, and all robots occup…

一台linux上运行多个mysql_linux下同时运行多个mysql

来自网络,感谢开源,感谢分享通过rpm安装mysql,测试版本5.1.481、在linux下通过:#useradd multi -g mysql -s /sbin/nologin添加一个multi用户,并加入到mysql组#passwd multi给multi用户添加密码,这里设置的密码为multi…

【SPOJ - QTREE2】Query on a tree II(LCA,倍增)

题干: You are given a tree (an undirected acyclic connected graph) with N nodes, and edges numbered 1, 2, 3...N-1. Each edge has an integer value assigned to it, representing its length. We will ask you to perfrom some instructions of the foll…

pandownload用户未登录_Pandownload再度复活,下载速度飙升到10MB/s以上

PanDownload再度复活版,此版镜像服务器由新城旧梦维护卢本伟修改版,基本都是维持在10M/S的下载速度,如果你的宽带够大,下载速度会更快,无需安装即可免费使用,但是需要登陆才能下载。(Pandownload卢本伟修改…

【蓝桥杯 - 试题】立方尾不变(tricks,快速取出一个数字的后n位)

题干: 有些数字的立方的末尾正好是该数字本身。 比如:1,4,5,6,9,24,25,.... 请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。 请提交该…

momentjs转换格式_Moment.js+Vue过滤器的使用,各种时间格式转换为YYYY-MM-DD HH:mm:ss格式...

前言这篇文章将Moment.js与vue过滤器连用。如果不会过滤器的朋友,可以先看这篇文章vue过滤器一、Moment.js是什么?Moment.js是JavaScript 日期处理类库。使用场景:vue项目中经常需要将时间戳转换为各种时间格式再显示。二、使用步骤1.安装这里…

【HDU - 1943】Ball bearings(几何问题)

题干: The Swedish company SKF makes ball bearings. As explained by Britannica Online, a ball bearing is “one of the two types of rolling, or anti friction, bearings (the other is the roller bearing). Its function is to connect two machine mem…

mysql显示修改密码_MySQL修改密码

第一种方式:最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下:1、登录mysql到指定库,如:登录到test库。2、然后点击上方“用户”按钮。3、选择要更改的用户名,然后点击上方的“编辑用户”按…

【POJ - 2486】Apple Tree (树形背包,dp)

题干: Wshxzt is a lovely girl. She likes apple very much. One day HX takes her to an apple tree. There are N nodes in the tree. Each node has an amount of apples. Wshxzt starts her happy trip at one node. She can eat up all the apples in the no…

mysql 磁盘组_有效管理 ASM 磁盘组空间

ORA-15041: diskgroup space exhausted 对您的数据库环境的直接和间接影响?与 ASM 磁盘组相关的磁盘空间问题和 ORA-15041 错误会ORA-15041: diskgroup space exhausted 对您的数据库环境的直接和间接影响?与 ASM 磁盘组相关的磁盘空间问题和 ORA-15041 …

【HDU - 1561】The more, The Better(树形背包,dp,依赖背包问题与空间优化,tricks)

题干: ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些…

mysql判断域为空_MySQL EXPLAIN 字段说明

id查询或关联查询的顺序。如果没有子查询且只有一个查询,则为一个常数 1,表示第一步;如果有子查询,则子查询为 1,父查询为 2;相同的 id 查询顺序为自上而下;如果有子查询,不同 id 值…

【CodeForces - 618A】Slime Combining(二进制,思维)

题干: Your friend recently gave you some slimes for your birthday. You have n slimes all initially with value 1. You are going to play a game with these slimes. Initially, you put a single slime by itself in a row. Then, you will add the other…

mysql索引技术_MySQL索引类型

首先请查看不同引擎支持的索引类型:存储引擎简介 。聚集索引和非聚集索引概念见:聚集索引与非聚集索引 和 聚集索引 。 覆盖索引见:覆盖索引 。1. InnoDB的每一个表都会有一个聚集索引(第一索引,主键索引)。InnoDB按照主键进行聚集…

【CodeForces - 616C 】The Labyrinth点石成金(并查集,dfs)

题干: 小O无意间发现了一张藏宝图,它跟随藏宝图的指引来到了一个宫殿,宫殿的地板被分成了n*m块格子,每个格子上放置了金子或者石头 藏宝图告诉小O,它可以选择一块石头变成金子,并且带走与变化后的金子联通…

mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...

Left Join / Right Join /inner join相关关于左连接和右连接总结性的一句话:左连接where只影向右表,右连接where只影响左表。Left Joinselect * from tbl1 Left Join tbl2 where tbl1.ID tbl2.ID左连接后的检索结果是显示tbl1的所有数据和tbl2中满足whe…

【蓝桥杯官网试题 - 真题训练】生命之树(树形dp)

题干: 在X森林里,上帝创建了生命之树。 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,…