【孙哥说Spring5】第四章 Spring中的事务属性(Transaction Attribute)

news/2024/10/17 17:28:58/
  1. 什么是事务属性
属性:描述物体特征的一系列值性别	身高	体重	...事务属性:描述事务特征的一系列值
1. 隔离属性
2. 传播属性
3. 只读属性
4. 异常属性
  1. 如何添加事务属性
@Transactional(isolation=, propagation=, readOnly=, timeout=, rollbackFor=, noRollbackFor=,)
  1. 事务属性详解

(1)隔离属性(isolation)

  • 隔离属性的概念
概念:描述了事务解决并发问题的特征
1. 什么是并发多个事务(用户)在同一时间,访问操作了相同的数据同一时间:0.000几秒 微小前 微小后
3. 并发会产生哪些问题1. 脏读2. 不可重复读3. 幻影读
4. 并发问题如何解决通过隔离属性解决,隔离属性中设置不同的值,解决并发处理过程中的问题
  • 脏读
产生原因:一个事务,读取了另一个事务中没有提交的数据,会在本事务中产生数据不一致的问题
解决方案:@Transactional(isolation=Isolation.READ_COMMITTED)
  • 不可重复读
产生原因:一个事务中,多次读取相同的数据,但是读取结果不一样,会在本事务中产生数据不一致的问题
注意:1. 不是脏读2. 是在一个事务中
解决方案:@Transactional(isolation=Isolation.REPEATABLE_READ)
本质:加了一把行锁
  • 幻影读
产生原因:一个事务中,多次对整表进行查询统计,但是结果不一样,会在本事务中产生数据不一致的问题
解决方案:@Transactional(isolation=Isolation.SERIALIZABLE)
本质:加了一个表锁
  • 总结
并发安全:SERIALIZABLE > REPEATABLE_READ > READ_COMMITTED
运行效率:READ_COMMITTED > REPEATABLE_READ > SERIALIZABLE 
  • 默认的隔离属性
  1. sd
  2. sd
  3. sd

http://www.ppmy.cn/news/1185695.html

相关文章

C# “依赖注入” 中的 “三种生命周期”

🚀简介 依赖注入(Dependency Injection,简称DI)是一种实现控制反转(IoC)的技术,用于减少代码之间的耦合度。通过依赖注入,一个类可以从外部获取其依赖的对象,而不是自己…

力扣每日一题82:删除排序链表中的重复元素||

题目描述: 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2,5]示例 2: 输入&…

【c++|opencv】一、基础操作---1.图像读取

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 有关c操作opencv记录 1. 正文 1.1 图像读取、显示、保存 // 读取、显示、保存图像#include <opencv2/opencv.hpp> #include <iostream>us…

向量数据库和普通关系型数据库的区别,LAXCUS支持哪种数据库?

这是一位Laxcus用户在后台的提问&#xff0c;贴出来供大家参考&#xff1a; 1. 向量数据库与传统的关系型数据库主要有以下几个区别&#xff1a; 数据类型&#xff1a;向量数据库专门用于存储和查询向量数据&#xff0c;而传统数据库可以存储各种类型的数据&#xff0c;如文本…

有关企业链表中数据类型的强制转换

From ChatGPT struct LinkNode {LinkNode* next; };struct LinkList {LinkNode node;int val 0; };void inti() {LinkList linkList;LinkNode* node (LinkNode*)(&linkList); }在提供的代码中&#xff0c;LinkNode 和 LinkList 是两个不同的结构体&#xff0c;但它们共享…

系统架构设计之云原生架构

云原生架构 一. 云原生技术介绍二. 传统架构模式 VS 云原生架构模式三. 云原生架构反模式四. 云原生架构设计原则 其它相关推荐&#xff1a; 软考系统架构之案例篇(架构设计相关概念) 系统架构之微服务架构 系统架构设计之微内核架构 鸿蒙操作系统架构 所属专栏&#xff1a;系统…

不知道怎么显示长标题?这里有小技巧,让你的内容更简洁明了!

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! ​ 目录 &#x1f4d8; 文章内容 ⭐ 写在最后 ⭐…

openpnp - Warning - Unknown firmware

文章目录 openpnp - Warning - Unknown firmware概述笔记https://github.com/openpnp/openpnp/wiki/Motion-Controller-Firmwares备注END openpnp - Warning - Unknown firmware 概述 接上飞达控制板后, 显示未知固件的警告 开始没看源码之前, 总以为是回答的版本号不合适, …