java 事务学习总结

28 篇文章 0 订阅

事务总结

1,事务的特性★★★

ACID
    A,原子性:事务里面的操作单元不可以切割,要么全部成功,要么全部失败
    C,一致性:事务执行前后,业务状态和其他业务状态保持一致
    I,隔离性:一个事务执行的时候最好不要受到其他事务的影响
    D,持久性:一旦事务提交或者回滚,这个状态都要持久化到数据库中


2,不考虑隔离性会出现的读问题★★

脏读:在一个事务中读取到另一个事务没有提交的数据
不可重复读:在一个事务中,两次查询的结果不一致(针对的update操作)
虚读(幻读):在一个事务中,两次查询的结果不一致(针对的insert操作)


通过设置数据库的隔离级别来避免上面的问题(了解)

read uncommited   读未提交  上面的问题都会出现
read commited     读已提交  可以避免脏读的发生
repeatable read   可重复读  可以避免脏读和不可重复读的发生
serializable      串行化       可以避免所的有问题


3,四种隔离级别的效率

read uncommited > read commited > repeatable read > serializable

四种隔离级别的安全性

read uncommited < read commited < repeatable read < serializable


开发中绝对不允许脏读的发生

    mysql中默认的级别:repeatable read
    oracle中默认级别:read committed


java中控制隔离级别:(了解)

    Connection的api
        void setTransactionIsolation(int level)
            level是常量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值