java事物 tran_Java基础——事务
一、事务
简单点说,事务就是一件事情。所有与事务相关的内容都是围绕这一件事情展开的。
二、事务的特性:ACID
A:Atomicity(原子性),事务必须是一个不可分割的整体。
C:Consistency(一致性),执行完数据库操作后,数据不会被破坏。如:从 A 账户转账到 B,要保证 A 账户扣钱后,B 账户能增加对应的钱数。
I:Isolation(隔离性),多个人对同一条数据同时进行操作时,若不加以控制,会产生非常大的麻烦。而这个控制就是指隔离性。
D:Durability(持久性),若执行一条 insert 语句,数据库必须保证一条数据永久地存放到数据库中。
事务的 ACID 特性,都是为了保证数据的一致性。隔离性是保证事务一致性的手段。
三、事务的隔离级别(Transanction Isolation Level)
上面说过,事务的隔离性。所说的控制,就是指这里的隔离级别。
(1)READ_UNCOMMITED:读未提交
(2)READ_COMMITED:读已提交
(3)REPEATABLE_READ:可重复读
(4)SERIALIZABLE:
从上往下,并发性越来越差,安全性越来越高。
四、事务中存在的问题
(1)脏读——事务 A 读取了事务 B 未提交的数据,并在这个基础上又做了其他操作。
(2)不可重复读——事务 A 读取了事务 B 已提交的更改数据。
(3)幻读——事务 A 读取事务 B 已提交的新增的数据。
不论是在什么情况下,脏读都是不被允许的。
五、事务的隔离级别与事务中存在的问题的对应关系
其实事务的隔离级别的存在本身就是为了解决事务中出现的问题。
MySQL 默认的隔离级别为 READ_COMMITED。
需要提醒的是,这里所说的事务隔离级别规范是 JDBC 提出来的。
到数据库级,隔离级别是通过锁来控制的,当插入数据时,锁定表,叫“锁表”。当更新数据时,锁定行,叫“锁行”。
六、总结为一张图
java事物 tran_Java基础——事务相关推荐
- java 事物 notsupport_Spring事务传播属性介绍(二).mandatory、not_supported、never、supports...
Required.Required_New传播属性分析传送门:https://www.cnblogs.com/lvbinbin2yujie/p/10259897.html Nested传播属性分析传送 ...
- java学习笔记-基础知识-2023.3.29
学习网站:https://www.sxt.cn/Java_jQuery_in_action/History_Direction.html 刷题网站 牛客网专题-spring java sql 第一章 ...
- Java学习---面试基础知识点总结
Java中sleep和wait的区别 ① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类.sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程 ...
- Java基于对象基础 基于对象和面向对象的区别(转)
Java基于对象基础 基于对象和面向对象的区别 JavaScript设计者想把javascript语言设计成基于对象(object-based)的语言,他想把这个与面向对象(object-orient ...
- 支撑Java框架的基础技术:泛型,反射,动态代理,cglib
以Spring为例要想看明白他的源码需要彻底理解Java的一些基础技术泛型,反射同时对于一些高级技术例如动态代理,cglib和字节码技术也需要掌握,下面就按章节来一一说清楚这些技术的核心部分,最后手写 ...
- Redis-09Redis的基础事务
文章目录 概述 Redis 事务命令 Redis 的基础事务 在 Spring 中使用 Redis 事务命令 代码 概述 和其他大部分的 NoSQL 不同,Redis 是存在事务的,尽管它没有数据库那 ...
- java ibatis 获取执行的sql_小程序官宣+JAVA 三大框架基础面试题
每天给你诚意满满的干货 虽然每天都会写代码,但编程语言里有太多知识点,许多知识长时间不用就会忘记,在我们要去参加面试或是其它一些场景下,需要做些题来查缺补漏.我在搜索过程中发现没有太好的刷题小程序,所 ...
- Java数据库篇5——事务
Java数据库篇5--事务 1.什么是事务 事务是一个整体,由一条或者多条SQL 语句组成,这些SQL语句要么都执行成功,要么都执行失败, 只要有 一条SQL出现异常,整个操作就会回滚,整个业务执行失 ...
- Java EE开发基础
Java EE开发基础 软件架构 单机软件:需要安装,不需要联网 B/S架构:Browser/Server(浏览器/服务器),需要网络通信,不需要安装 C/S架构:Client/Server(客户端/ ...
- Java开发者XML基础(一)
Java开发者XML基础(一) 2003年12月5日 作者:StoneGump Matrix-与Java共舞 Java开发者XML基础,Part 1 原作者:Patrick Niemeye ...
最新文章
- 目标检测中的anchor-based 和anchor free
- 1.2 什么是神经网络-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
- HTML5 Web app开发工具Kendo UI Web中Grid网格控件的使用
- 学会做“男人”—Linux Man的使用技巧
- string.intern_使用String.intern()减少内存使用
- 微服务“新秀”之Service Mesh
- ORA-29538、ORA-29532、ORA-29913问题解决
- 助力南京打造创新名城 第三届未来网络发展大会将召开
- 记录.NET Core部署到Linux之.NET Core环境搭建(1)
- PHP TCPDF导出订单合同并且每页加一个印章
- 拾色器 插件 html,Unity3D 插件开发教程 #3:制作拾色器 ColorPicker
- 汽车电器设备与维修【1】
- UE4/UE5 python打包Pak和Runtime加载Pak
- 婚纱纪实类照片调色思路 教你PS洋气的油画效果
- 如何修改PPT文档的编辑版式
- 计算机操作中常用的几种快捷方式,常用的30个电脑快捷操作技巧
- python 爬取海量网易云评论并写入数据库
- 数字图像学笔记——7. 噪音生成(泊松噪音生成方法)
- 萧邦主的技术博客导航
- Spring Boot 起步依赖