Mysql事物

1.Mysql支持事物 默认自动提交事物
2.可以手动开启关闭事物 如图开启 更新 回滚 以及 开启 更新 提交


Mysql事物_第1张图片
image.png

java 解决 Mysql事物问题:
未加入事物处理之前


Mysql事物_第2张图片
image.png

Mysql事物_第3张图片
image.png

当转账遇到异常时候:


Mysql事物_第4张图片
image.png

添加事物到代码中:
Mysql事物_第5张图片
_SSJPX338IINMKCJ%F42LDM.png

注意: 只有一条Sql语句的时候没必要使用事物处理
脏读 虚读 不可重复读


Mysql事物_第6张图片
image.png

隔离级别:


Mysql事物_第7张图片
image.png

查看数据库的隔离级别:


image.png

更改隔离级别 LEVRL 1 :


image.png

更改隔离级别之后 通过查询隔离级别是查不出来的。解决方法:

开启两个线程分别开启事物 操作数据库 :


Mysql事物_第8张图片
image.png
Mysql事物_第9张图片
image.png

上面的演示就是出现了脏读现象。

解决方法 就是 设置隔离级别为 更改隔离级别 LEVRL 2 可以解决脏读现象。

但是 不可重复读 现象会随之产生: 如下图:


Mysql事物_第10张图片
image.png

正常情况应该是 左边客户端 commit 之后才能看见更新的数据。 所以设置LEVEL 2 会产生 不可重复度的现象。

当设置隔离级别为 LEVEL 4 的时候 (Mysql 默认 ) 避免脏读:


Mysql事物_第11张图片
image.png

不可重复读也是可以避免的 。


Mysql事物_第12张图片
image.png

当 左边客户端 conmit 的时候看到 正确现象。

当设置隔离界别为 LEVEL 8 的时候 :
打开两个线程 :

Mysql事物_第13张图片
image.png

如果左边不提交 commit 的时候 右边是不能 进行怎删改的 操作的。

java 设置事物级别 API

Mysql事物_第14张图片
image.png

你可能感兴趣的:(Mysql事物)