MybatisPlus乐观锁

https://mp.baomidou.com/guide/interceptor-optimistic-locker.html#optimisticlockerinnerinterceptor
乐观锁:解决某些问题
主要解决:丢失更新
如果不考虑事务隔离性,产生读问题?
脏读 不可重复读 幻读
写问题:丢失更新问题
丢失更新:如果lucy和mary都想修改我的工资,他们首先都需要开启事务,lucy将5000改为8000,同时mary由5000改为4000,lucy先提交事务,工资为8000,mary后来改,工资变为了4000,就叫丢失更新,多个人同时修改同一个业务,,谁最后提交,会把之前提交的数据覆盖。解决这个问题有两个方法,一种叫悲观锁,一种叫乐观锁。
悲观锁:lucy在操作数据的时候,其他人都不能操作数据,只有等自己操作完成之后,其他人才能操作。串行操作。
乐观锁:使用version来实现,version默认版本号是1,lucy把数据做完修改要提交的时候,会检查version的版本号和数据库中的版本号是否一样,如果不一样,不能修改。如果一样进行数据修改,同时版本号version+1
具体操作
第一步:数据库中添加version字段
第二步:在类中加入version属性
第三步:配置乐观锁插件,新建MpConfig

//乐观锁插件
@Configuration
@MapperScan("com.atguigu.mpdemo1010.mapper")
public class MpConfig {
    @Bean
    public OptimisticLockerInterceptor optimisticLockerInterceptor(){
        return new OptimisticLockerInterceptor();
    }
}
@Version
private Integer version;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值