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

栏目: IT技术 · 发布时间: 4年前

内容简介:如果一个包含多个步骤的业务操作,这些操作被事务管理,那么这些操作要么同时成功要么同时失败事务的四大特性(必须记住):持久性:当事务回滚或者提交之后,数据库会持久化数据

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

什么是事务?

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

事务的四大特性(必须记住):

持久性:当事务回滚或者提交之后,数据库会持久化数据

一致性:事务操作前后,数据的总量不变

原子性:是不可分割的最小单位,不可分割,要么同时成功要么同时失败,不可分割

隔离性:各个事务之间相互独立

事务的基本操作:

开启事务:start transaction

回滚事务:Roolback

提交:commit;

事务提交的两种方式:

自动提交:

mysql中事务是默认自动提交的

比如我们执行一条DML(Data Manipulation Language),他会自动提交数据,将数据持久化到数据库中

手动提交:

Oracle数据库默认是手动提交的,

需要开启事务再手动提交

查看事务提交的方式:

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

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

修改事务的提交方式:

set @@autocommit

Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念) 可以看到事务的提交方式被修改为手动提交

事务的隔离等级:

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事务读到的数据是不被承认的。例如常见的取款事务和转账事务:

比如你去隔壁老王那借钱,你在他家的的时候看到他给你转的钱到账了,然后你就给他打了欠条,但是在你出了门,去银行取钱的时候,发现从老王 那借的钱人间蒸发了,因为老王使用了事务回滚,迷惑了你一番

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

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

幻读:

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

Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念) 以上就是 java 事务的一些基础知识,如有错误还请各位批评指正,喜欢我的文章可以关注或者收藏


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Flexible Pattern Matching in Strings

Flexible Pattern Matching in Strings

Gonzalo Navarro、Mathieu Raffinot / Cambridge University Press / 2007-7-30 / USD 64.99

String matching problems range from the relatively simple task of searching a single text for a string of characters to searching a database for approximate occurrences of a complex pattern. Recent ye......一起来看看 《Flexible Pattern Matching in Strings》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试