事务

什么是事务,以及事务的特性! 阅读详情

事务

什么是事务?

事务是指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功,从而确保了数据的准确安全。

MYSQL中如何使用事务?

1.在MySQL中的每一条语句都是属于独立的事务,myaql中的事务是自动开启的,每一个数据厂商不一样,oracal中就不是

2.在mysql中手动开启事务,使用的是  start transaction   在此之后的语句都会处于同一个事务之中;

事务的特性:

原子性:原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生;

一致性:事务必须是数据从一个一致性状态变换到另外一个一致状态;

隔离性:事务的隔离性从一个一致性变换到另外一个一致性状态

持久性:持久性是指一个事务一旦被提交了,它对数据的改变就是永久的,接下来即使数据库发生了故障也不应该对其有任何影响;

总结事务的特性:原子性  隔离性 永久性  一致性


隔离性:如果没有隔离性,那么线程之间就会出现干扰


如果不考虑隔离级别,会出现以下的情况:-->下面的是错误的现象

脏读:一个线程中的事务读到了另外一个线程中未提交的数据

不可重复读:一个线程中的事务读到了另外一个线程中已经提交的update的数据(前后内容不一样)

虚读(幻读):一个线程中的事务读到了另外一个线程已经提交的insert的数据(前后条数不一样)


针对这三种情况  mysql提供了三种隔离级别:

Serialiable:可避免脏读,不可重复读,虚读情况的发生      最高

Repeatable read:可避免脏读,不可避免重复读情况的发生,但是不能避免的是虚读或者幻读情况的发生  第二

Read committed:可以避免脏读情况的发生;

Read unconnitted:级别最低,以上情况均无法保证    级别最低


设置MySQL的默认隔离级别是:REPEATABLE READ    这个是可重复读   他可以避免的是脏读和不可重复读;



查询当前使用的隔离级别:select @@tx_islation   select @@tx_islation   select @@tx_islation;

设置MySQL事务的格力级别:set session transaction isolation level xxx;(设置当前事务的,并不是永久改变的;)

注意的是:修改mysql事务的隔离级别,必须在开启事务之前,否则是无效的;




























































Spring 事务和事务传播机制 阅读详情

相关推荐

深入剖析Mysql事务和Spring事务

本文分享一些关于Mysql如何解决多事务并发的问题和Spring源码是怎么控制事务以及一些事务失效的场景。 分享内容 Mysql事务隔离机制 锁机制 MVCC多版本并发控制隔离机制 Spring事务应用和源码分析 事务失效问题 一、Mysql事务 数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。 1.1事务的属性 事务(Transaction)是数据库系统中一系列操作的一个逻辑单元,所有操作要么全部成功要

weixin_57907028的博客 1279

Spring事务和MySQL事务详解

文章目录数据库事务事务是什么事务的四大特性MySQL事务隔离级别查看MySQL当前事务隔离级别MySQL默认操作模式为自动提交模式JDBC处理事务Spring事务Spring的事务传播PROPAGATION_REQUIREDPROPAGATION_SUPPORTSPROPAGATION_MANDATORYPROPAGATION_REQUIRES_NEWPROPAGATION_NOT_SUPPORT...

Keep Moving 5万+

Spring事务和Mysql事务总结

目录spring事务与数据库事务与锁之间的关系五分钟搞清楚MySQL事务隔离级别//dao spring事务与数据库事务与锁之间的关系 一直没搞清楚spring事务与数据库事务与锁之间的关系,也许是因为这个体系非常庞大,确实比较凌乱。 后来从一个博客上看到:spring事务本质上使用数据库事务,而数据库事务本质上使用数据库锁,所以spring事务本质上使用数据库锁,开启spring事务意味着使用数...

weixin_37828327的博客 1031

Spring事务——查看事务id

今天同事遇到一个问题:在使用Spring的事务管理时,开启了一个事务,接着在内部开启了两个传播模式为嵌入(PROPAGATION_NESTED)的事务,想看下这三个事务的id是否一致,但是查了半天也没查到Spring怎么获取事务id。 这里提供两个思路,不知到对不对。 1 使用MySQL的事务id 既然Spring的事务最终还是要看MySQL,那我们不如直接去MySQL里查询事务id: ...

java开发学习积累 1万+

JDBC中的事务:什么是事务,事务的四大特性

一、事务     1、概念:事务是指一组操作,要么都执行成功,要么都执行失败。     2、四大特性:           1)原子性:一组操作,要么都执行成功,要么都执行失败。           2)隔离性:在所有操作未完成之前,其他回话是不能看到中间过程的。           3)一致性:事物发生和发生后的总金额依然匹配。           4)持久性:事务产生的影响是不能撤...

追梦人生的博客 3174

PyCharm 2023最新版安装配置全攻略(附永久激活教程)

本文详细介绍了PyCharm 2023最新版的安装配置全流程,包括版本选择、初始配置、插件生态、工程模板、调试优化及团队协作等关键步骤。特别针对专业版和社区版的功能差异进行对比,帮助开发者高效搭建Python开发环境,提升编码效率与团队协作能力。

p4q5r6s7t的博客 875

java事务 深入Java事务的原理与应用

java事务 深入Java事务的原理与应用 一、什么是JAVA事务     通常的观念认为,事务仅与数据库相关。     事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何

sinat_33536912的博客 3万+

源码编译部署篇(二)源码编译milvus成功后如何启动standalone并调试成功!

由于Milvus官方文档只提及如何使用docker安装部署Milvus,关于源码安装方式篇幅较少,因此,我整理撰写了如何通过源码编译方式成功安装Milvus,详见此篇。之所以选择这种复杂的安装方式,可以调试源码进而熟悉Milvus如何搭建整个框架支持AI上层应用功能。根据上篇步骤部署虽然可以成功,然而,我却不能成功启动Milvus服务,这个问题困扰了一两天,现在终于得以解决并能成功调试Milvus源码。接下来,分为三个部分介绍如何启动和成功调试。

qq_43893755的博客 3369

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

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

yyhgo_的博客 2219

Altium Designer操作技巧(12)——如何进行邮票孔拼版?

【摘要】本文详细介绍了PCB设计中邮票孔拼板的全流程操作方法。首先解释了邮票孔拼板的定义、核心目的(提高贴片效率、方便生产)和适用场景(异形板、V-CUT无法实现的情况)。重点阐述了关键设计参数,包括孔径、数量、间隙等规范要求,并提供了两种具体操作方案:传统复制粘贴法和新版阵列放置法。文章通过图文详细演示了从PCB复制、邮票孔添加、板框定义到定位孔和Mark点设置的完整步骤,最后强调了对称性、非金属化孔等设计要点,以及需要与板厂确认工艺参数等注意事项。

u012526819的博客 1679

Apifox CLI + Claude Skills:将接口自动化测试融入ai

基于 Apifox CLI、Claude Code以及Claude Skills组合,实现自然语言触发接口自动化测试。

wwz_0012的博客 599

本地事务、全局事务、分布式事务

举个例子,假设你的代码调用了 JDBC 中的。

凄戚的博客 1525

对计算机专业来说学历真的重要吗?

我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...

启舰 55万+

[事务] 事务的回滚机制

一、事务管理的意义: 在service类或所有service方法都加上事务操作;用来保证一致性,即service方法里的多个dao操作,要么同时成功,要么同时失败,保证了事务的原子性 二、springboot配置事务管理的步骤 1、导入相关依赖 数据源、数据库、SpringJdbc模块 <dependency> <groupId>org.springframework</groupId> &l.

GSON的博客 1万+

时序异常检测汇总

时序异常检测

Mark_Australia的博客 1万+

AI开发提效10倍:从需求到部署的全流程实战指南(附Prompt模板)

用AI开发不是“偷懒”,而是把时间花在更有价值的地方——原来花80%时间写重复代码,现在用AI搞定后,能把精力放在“优化用户体验”“提升系统性能”这些核心工作上,这才是AI给开发者的真正红利。如果你还没开始用AI做开发,建议从“写一个简单接口”“补一段注释”开始尝试,先用起来再优化方法。记住:AI是工具,不是对手,学会驾驭它,你会发现开发效率提升的同时,还能告别无效加班。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1533

【MySQL基础篇】事务(事务操作、事务四大特性、并发事务问题、事务隔离级别)

本文用实际的SQL演示了事务的三大并发事务问题,还详细介绍了事务操作、事务四大特性和事务隔离级别。

实用技术干货分享⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄对您有用的话请点个关注吧~ 961

普通人也能看懂的Transformer源代码解释(PyTorch)

Transformer源代码解释之PyTorch篇 章节 词嵌入 位置编码 多头注意力 搭建Transformer 在这里插入图片描述 词嵌入 Transformer本质上是一种Encoder,以翻译任务为例,原始数据集是以两种语言组成一行的,在应用时,应是Encoder输入源语言序列,Decoder里面输入需要被转换的语言序列(训练时)。一个文本常有许多序列组成,常见操作为将序列进行一些预处理(如词切分等)变成列表,一个序列的列表的元素通常为词表中不可切分的最小词,整个文本就是一个大列表,元素为一个一

qq_50974223的博客 4170

mysql 事务 及 Spring事务 初论

mysql事务 和 spring 事务

huangchong0107的博客 1373

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

JAVA 事务之JDBC事务、JTA事务和容器事务

一、什么是Java事务 事务是一组原子操作单元 从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令更简答的说就是:要么全部执行成功,要么撤销不执行。事务必须服从ISO/IEC所制定的ACID原则。 原子性(atomicity) 一致性(consistency) 隔离性(isolation) 持久性(durability) 原子性

Heqianqian的博客 2136

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Spring事务实用版】事务实现 && 事务失效 && 事务传播机制

是通过配置和注解的方式,无需手动编写事务控制代码,实现对事务的管理。幻读和不可重复读都是读取了另一条已经提交的事务(这点就脏读不同),所不同的是不可重复读查询的都是同一个数据项,而幻读针对的是一批数据整体。是指在对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。将需要事务管理的方法提取到另一个类中,通过外部调用方法,确保调用经过代理,这样事务就会生效。是指在一个事务处理过程里读取了另一个未提交的事务中的数据。(读取未提交的数据)

学不会就接着学 1322

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SpringBoot 事务深度解析【事务传播、事务的隔离性、事务的回滚、事务的嵌套,事务同步,事务日志记录】【程序员猫爪】

事务传播行为定义了多个包含事务的方法在相互调用时,事务是如何在这些方法间进行传播的。例如,一个方法调用另一个带有事务的方法时,新方法是沿用调用者的事务,还是开启新的事务,亦或是不使用事务等情况,Spring 提供了多种事务传播行为的选项来应对不同的业务场景需求。Spring 中常用的事务传播行为有以下几种(定义在REQUIRED(默认值):如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式执行方法。

程序员猫爪 1273

事务、事务提交、事务回滚

事务 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。 事务提交 事务的提交是指事务里的所有操作都正常完成。 ...

weixin_44520602的博客 2845

Spring事务和事务传播机制

Spring事务和事务传播机制

weixin_54342360的博客 1159
上一篇: JDBC回顾
下一篇: 2019年最后一天,总结一下2019,展望2020
fyldragonfyl
博客等级 码龄12年 9粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值