Mybatis有哪些演示读写问题以及案例?

Mybatis有哪些演示读写问题以及案例?

Mybatis演示读写问题

一、演示脏读

1.分别开启两个dos窗口 A.B

2.先查看两个窗口的隔离级别 select @@tx_isolation;

3.设置A窗口的隔离级别为未提交读 set session transaction isolation level read uncommitted;

4.分别在两个窗口开启事务 start transaction;

5.在B窗口完成转账操作

update account set money = money - 1000 where name = '张森';

update account set money = money + 1000 where name = '凤姐';

6.在A窗口查询数据 select * from account; -- A事务读到了B事务还没有提交的数据;

二、演示避免脏读,演示不可重复读发送

1.分别开两个窗口,A.B

扫描二维码关注公众号,回复: 6358367 查看本文章

2设置A窗口的隔离级别:read committed set session transaction isolation level read committed;

3.分别在两个窗口开启事务 start transaction;

4.在B窗口完成转账

update account set money = money - 1000 where name = '张森';

update account set money = money + 1000 where name = '凤姐';

5.在A窗口进行查询 select * from account; -- 避免脏读.

6.在B窗口提交事务 commit;

7.在A窗口中再次查询 select * from account; -- 转账成功.(不可重复读:一个事务读到另一个事务中已经提交的update的数据,导致多次查询结果不一致.)

三、避免脏读和不可重复读,演示虚读

1.分别开启两个窗口,A.B

2.设置A窗口的隔离级别:repeatable read set session transaction isolation level repeatable read;

3.分别在两个窗口中开启事务 start transaction;

4.在B窗口完成转账的操作

update account set money = money - 1000 where name = '张森';

update account set money = money + 1000 where name = '凤姐';

5.在A窗口查询 select * from account; -- 转账没有成功:避免脏读.

6.在B窗口提交事务 commit;

7.在A窗口再次查询 select * from account; -- 转账没有成功:避免不可重复读.

java语言基础篇
KuangXiang
98元0人已购详情

四、避免虚读

1.分别开启两个窗口,A.B

2.设置A窗口的隔离级别:repeatable read set session transaction isolation level repeatable read;

3.分别在两个窗口中开启事务 start transaction;

4.在B窗口完成插入操作 insert into account values (null,'王老师',10000);

5.在A中进行查询操作 select * from account; -- 没有查询到任何结果

6.在B窗口提交事务 commit; -- A窗口马上就会显示数据

转账案例

(一)
步骤分析

创建一个页面

导入JDBC相关jar包和工具类

创建包结构

提交到Servlet->Service->Dao

页面的跳转

Mybatis有哪些演示读写问题以及案例?

(二)

1,事务管理分析

原始处理方式,在service层开启事务,然后操作表。

Mybatis有哪些演示读写问题以及案例?

(service层)

2.把Connection对象绑定在当前线程

Mybatis有哪些演示读写问题以及案例?

(JDBCUtils改造)
Mybatis有哪些演示读写问题以及案例?

(service层代码)

Mybatis有哪些演示读写问题以及案例?

(Dao层代码)

3.利用DbUtils实现

1、没有事务管理

Mybatis有哪些演示读写问题以及案例?

2、有事务管理

Mybatis有哪些演示读写问题以及案例?

(service层)

有需要更多Java架构师资料的朋友可以私信我哦,资料见下图

END

猜你喜欢

转载自blog.51cto.com/14254017/2405591
今日推荐