前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念)

Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念)

作者头像
一只胡说八道的猴子
发布2020-09-27 10:08:32
4660
发布2020-09-27 10:08:32
举报

Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念)

什么是事务?

如果一个包含多个步骤的业务操作,这些操作被事务管理,那么这些操作要么同时成功要么同时失败

事务的四大特性(必须记住): 持久性:当事务回滚或者提交之后,数据库会持久化数据 一致性:事务操作前后,数据的总量不变 原子性:是不可分割的最小单位,不可分割,要么同时成功要么同时失败,不可分割 隔离性:各个事务之间相互独立

事务的基本操作:

开启事务:start transaction 回滚事务:Roolback 提交:commit; 事务提交的两种方式: 自动提交: mysql中事务是默认自动提交的 比如我们执行一条DML(Data Manipulation Language),他会自动提交数据,将数据持久化到数据库中 手动提交: Oracle数据库默认是手动提交的, 需要开启事务再手动提交

查看事务提交的方式:

在这里插入图片描述
在这里插入图片描述

可以看到mysql的默认提交方式是自动提交,-- 1 代表自动提交 0 代表手动提交

修改事务的提交方式:

set @@autocommit

在这里插入图片描述
在这里插入图片描述

可以看到事务的提交方式被修改为手动提交

事务的隔离等级:

1 Read uncommitted:读未提交 产生的问题:脏读,不可重复读,幻读 2 Read commited:读已提交 产生问题:不可重复读,幻读 3 Repeatable read 可重复读(Mysql默认读法): 产生的问题:幻读 4 serialzable:串行化 可以解决所有问题

事务的隔离等级越高,安全等级也越高,但是效率越来越低 数据库查询隔离级别: select @@tx_isolation 设置数据库的隔离等级: select global transaction isolation level

什么是幻读,脏读,不可重复读

不可重复读: 不可重复读是指A事务读取了B事务已经提交的更改数据。假如A在取款事务的过程中,B往该账户转账100,A两次读取的余额发生不一致。

脏读: A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作,这时候如果事务B回滚,那么A事务读到的数据是不被承认的。例如常见的取款事务和转账事务: 比如你去隔壁老王那借钱,你在他家的的时候看到他给你转的钱到账了,然后你就给他打了欠条,但是在你出了门,去银行取钱的时候,发现从老王 那借的钱人间蒸发了,因为老王使用了事务回滚,迷惑了你一番

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

幻读: A事务读取B事务提交的新增数据,会引发幻读问题。幻读一般发生在计算统计数据的事务中,例如银行系统在同一个事务中两次统计存款账户的总金额,在两次统计中,刚好新增了一个存款账户,存入了100,这时候两次统计的总金额不一致。

在这里插入图片描述
在这里插入图片描述

以上就是java事务的一些基础知识,如有错误还请各位批评指正,喜欢我的文章可以关注或者收藏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念)
  • 什么是事务?
  • 事务的基本操作:
  • 修改事务的提交方式:
  • 事务的隔离等级:
  • 什么是幻读,脏读,不可重复读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档