Mybatis笔记

Mybatis笔记

2020.06.06

Mybatis

2020.06.22

jdbc事务的隔离级别

数据库定义了4个隔离级别:

  1. Serializable【可避免脏读,不可重复读,虚读】
  2. Repeatable read【可避免脏读,不可重复读】
  3. Read committed【可避免脏读】
  4. Read uncommitted【级别最低,什么都避免不了】
    分别对应Connection类中的4个常量
  5. TRANSACTION_READ_UNCOMMITTED
  6. TRANSACTION_READ_COMMITTED
  7. TRANSACTION_REPEATABLE_READ
  8. TRANSACTION_SERIALIZABLE

脏读:⼀个事务读取到另外⼀个事务未提交的数据

例⼦:A向B转账,A执⾏了转账语句,但A还没有提交事务,B读取数据,发现⾃⼰账户钱变多了!B跟 A说,我已经收到钱了。A回滚事务【rollback】,等B再查看账户的钱时,发现钱并没有多。

不可重复读:⼀个事务读取到另外⼀个事务已经提交的数据,也就是说⼀个事务可以看到其他事务所做的修改

//关闭事务【⾃动提交】
connection.setAutoCommit(true);
} catch (SQLException e1) {
e1.printStackTrace();
}
注:A查询数据库得到数据,B去修改数据库的数据,导致A多次查询数据库的结果都不⼀样【危害:A
每次查询的结果都是受B的影响的,那么A查询出来的信息就没有意思了】

虚读(幻读):是指在⼀个事务内读取到了别的事务插⼊的数据,导致前后读取不⼀致。
注:和不可重复读类似,但虚读(幻读)会读到其他事务的插⼊的数据,导致前后读取不⼀致
简单总结:脏读是不可容忍的,不可重复读和虚读在⼀定的情况下是可以的【做统计的肯定就不⾏】。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值