spring事务的默认隔离级别_事务隔离级别有哪些

spring事务的默认隔离级别_事务隔离级别有哪些目录1、前言2、验证结论3、总结1、前言事务的四个隔离级别想必大家都已经清楚,但是在学习Spring的时候,我们发现Spring自己也有四个隔离级别(加上默认的是五个)。那么问题来了,当Spring设置的隔离级别和我们在数据库设置的隔离级别不一致时,哪个会生效?先抛出结论:Spring设置的隔离级别会生效2、验证结论要验证结论很简单,我们只需要在spring事务注解上面配置不同的隔离级别就行了:DAO层实现类的两个方法pay方法是模拟事务A先查询一次数据,然后休眠两秒再查询一次数据

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、前言

事务的四个隔离级别想必大家都已经清楚,但是在学习Spring的时候,我们发现Spring自己也有四个隔离级别(加上默认的是五个)。

那么问题来了,当Spring设置的隔离级别和我们在数据库设置的隔离级别不一致时,哪个会生效?

先抛出结论:

Spring设置的隔离级别会生效

2、验证结论

要验证结论很简单,我们只需要在spring事务注解上面配置不同的隔离级别就行了:

DAO层

在这里插入图片描述

实现类的两个方法

pay方法是模拟事务A先查询一次数据,然后休眠两秒再查询一次数据
在这里插入图片描述

pay1方法则是先休眠一秒,等事务A执行第一次查询后,更新数据,等事务A执行第二次查询,然后回滚数据

在这里插入图片描述

运行代码
在这里插入图片描述
主方法使用两个线程运行这两个方法(请忽略pay方法参数,我这是方便CV……)

结果如下,发生了脏读!

在这里插入图片描述

3、总结

我们知道,MySQL默认的隔离级别是REPEATABLE-READ,在这个级别下是不可能发生脏读的。但是在刚才的测试中却出现了脏读,这证明我们的结论是正确的,spring开启事务时,拿到的当前连接,会对当前会话设置事务隔离级别。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194146.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月11日 下午4:43
下一篇 2025年11月11日 下午5:15


相关推荐

  • java经典实例 源代码_100个Java经典编程实例源代码JAVA源码下载

    java经典实例 源代码_100个Java经典编程实例源代码JAVA源码下载100个Java经典编程实例源代码(2folders,2files,1.38KB,25.13MBintotal.)java运用编程100例(二)例57-100(45folders,2files,1.38KB,17.04MBintotal.)实例100(1folders,4files,1.64KB,1.31MB…

    2022年7月7日
    25
  • 查看linux中某个端口(port)是否被占用[通俗易懂]

    查看linux中某个端口(port)是否被占用[通俗易懂]1.使用lsoflsof-i:端口号查看某个端口是否被占用2.使用netstat使用netstat-anp|grep80更多内容,可以点击这里:http://www.findme.wang/blog/detail/id/1.html

    2025年8月5日
    8
  • 使用两个栈实现一个队列

    使用两个栈实现一个队列题目 使用两个栈实现一个队列 栈 后进先出 队列 先进先出 入队列 直接入栈 1 出队列 返回队列的队尾元素 返回队列的队头元素 队列为空 栈 1 为空 amp amp amp amp amp amp amp amp amp amp 栈 2 为空 队列元素个数 栈 1 的元素个数 栈 2 的元素个数 参考代码 设置一个队列由两个栈组成 typedefstruc

    2026年3月19日
    1
  • ZAP使用

    ZAP使用ZAP 使用 uber 开源高性能日志库一 快速开始 1 非结构化性能比结构化的要差 性能比较 https github com uber go zap 1 友好的日志打印 url https www baidu com logger zap NewDevelopme deferlogger Sync sugar logger Suga

    2026年3月20日
    2
  • java项目里classpath具体指哪儿个路径

    java项目里classpath具体指哪儿个路径一 classpath 路径指什么 nbsp nbsp 只知道把配置文件如 mybatis xml spring web xml applicationC xml 等放到 src 目录 就是存放代码 java 文件的目录 然后使用 classpath xxx xml 来读取 都放到 src 目录准没错 那么到底 classpath 到底指的什么位置呢 nbsp nbsp nbsp src 路径下的文件在编译后会放到 WEB I

    2026年3月20日
    2
  • httphost设置socks_socks5代理设置:Socks5动态ip怎么使用?

    httphost设置socks_socks5代理设置:Socks5动态ip怎么使用?今天和大家分享一下 Socks5 动态 ip 如何使用 这是一款使用游览器刷单利器 配置使用游览器全局代理 意思是游览器所有数据都通过代理 ip 出去 其他应用程序还是通过本地出去 Socks5 动态 ip 使用方法 一 获取账号网上有很多提供 Socks5 账号 有收费的 也有免费的 但是一般都是通过一个指定的公网 ip 出去 一般账号分为这几个部分 Hostname ServerIP 服务器 IP 或域名 Po

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号