Mybatis-Plus实现乐观锁

2年前 (2022) 程序员胖胖胖虎阿
175 0 0

当要更新一条记录的时候,希望这条记录没有被别人更新
乐观锁实现方式:

1、取出记录时,获取当前 version
2、更新时,带上这个 version
3、执行更新时, set version = newVersion where version = oldVersion
4、如果 version 不对,就更新失败

简单的说就是:
1、数据库中添加version字段
2、取出记录时,获取当前version

SELECT id,`name`,price,`version` FROM product WHERE id=1

3、更新时,version + 1,如果where语句中的version版本不对,则更新失败

UPDATE product SET price=price+50, `version`=`version` + 1 WHERE id=1 AND `version`=1

Mybatis-Plus实现乐观锁

步骤:

1、在表中添加version字段。
2、修改实体类
Mybatis-Plus实现乐观锁
3、添加乐观锁插件配置

spring xml 方式:
Mybatis-Plus实现乐观锁
springboot方式:

@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    //乐观锁插件
![请添加图片描述](https://img-blog.csdnimg.cn/55173cd8bd0446c6837799fe54d566dc.png)
    interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
    return interceptor;
}

Mybatis-Plus实现乐观锁
这样就配置好了乐观锁插件。

优化流程

Mybatis-Plus实现乐观锁

Mybatis-Plus实现乐观锁

版权声明:程序员胖胖胖虎阿 发表于 2022年10月11日 上午5:24。
转载请注明:Mybatis-Plus实现乐观锁 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...