Spring事务隔离级别

事务

Dev Java

发布日期:   2020-06-23

更新日期:   2020-06-23

文章字数:   528

阅读时长:   1 分

阅读次数:  

事务隔离级别

ISOLATION_DEFAULT

这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。

ISOLATION_READ_UNCOMMITTED

这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。

ISOLATION_READ_COMMITTED

保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。

ISOLATION_REPEATABLE_READ

这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免不可重复读。

ISOLATION_SERIALIZABLE

这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。

什么是脏数据,脏读,不可重复读,幻觉读?

脏读

一个事务修改了一行数据但是没有提交,第二个事务可以读取到这行被修改的数据,如果第一个事务回滚,第二个事务获取到的数据就是脏读。

帮助记忆:写读

不可重复读

一个事务读取到一行数据,第二个事务修改了这行数据,第一个事务重新读取证行数据将得到不同的值。因此称为是不可重复读。

帮助记忆:读写读

幻读

一个事务按照一个where条件读取所有符合的数据,第二个事务插入了一行数据且恰好也满足这个where条件,第一个事务再以这个where条件重新获取将会获取额外多出来的这一行。

帮助记忆:where insert where

文章作者: 少年闰土

文章链接: http://likeyou.cool/2020/06/23/spring-shi-wu-ge-chi-ji-bie/

版权声明: 博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源少年闰土 !

事务

你的赏识是我前进的动力

Spring事务隔离级别
Spring事务隔离级别

本篇

Spring事务隔离级别 Spring事务隔离级别

事务隔离级别ISOLATION_DEFAULT这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 ISOLATION_READ_UNCOMMITTED 这是事务最低的隔离级别,它充许令

2020-06-23 Dev Java

事务

下一篇 

Spring事务隔离级别 Spring事务传播机制

传播性行为分为以下几种 PROPAGATION_REQUIRED–支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS–支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGA

2020-06-23 Dev Java

事务

原文 

http://likeyou.cool/2020/06/23/spring-shi-wu-ge-chi-ji-bie/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Spring事务隔离级别

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址