Java mybatis-plus集成乐观锁

相关概念

悲观锁(Pessimistic Lock)

每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁

乐观锁(Optimistic Lock)

每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制

mybatis-plus集成乐观锁

实体类添加@Version

less 复制代码
/**
 * 版本号,用乐观锁
 */
@Version
private Integer version;

添加对乐观锁的支持

在启动类放入乐观锁的拦截器

java 复制代码
/**
 * mybatis-plus乐观锁支持
 * @return
 */
@Bean
public MybatisPlusInterceptor optimisticLockerInterceptor(){
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
    return interceptor;
}
相关推荐
HuanYu10 分钟前
JDK实现动态代理
后端
袋鱼不重20 分钟前
解决 Web 端图片预览与下载颜色不一致的一种工程方案
前端·后端
lizhongxuan20 分钟前
Agent 的 Code-driven Assembly
后端
稀土熊猫君44 分钟前
一个人能做出什么开源项目?
vue.js·后端·开源
lizhongxuan1 小时前
Agent Runtime 中的 Code-driven Assembly
后端
货拉拉技术1 小时前
资损下降 99.96% 的背后: AI 资损防控平台实战
后端
用户8358086187911 小时前
撮合引擎 OrderBook 的 100ns 之路:无锁 RingBuffer + 伪共享消除,Go 1.22 下单 op 11ns
后端
用户881863001361 小时前
用Node.js写一个简单的API请求日志中间件
后端