场景
主要适用场景:当要更新一条记录的时候,希望这条记录没有被别人更新,也就是说实现线程安全的数据更新 乐观锁实现方式:
取出记录时,获取当前version 更新时,带上这个version 执行更新时, set version = newVersion
where version = oldVersion 如果version不对,就更新失败
接下来介绍如何在Mybatis-Plus项目中,使用乐观锁:
修改实体类
@Version
private Integer version;//加入版本号
创建配置文件
@Configuration
@MapperScan("com.atguigu.demomptest.mapper")
public class MpConfig {
/**
* 乐观锁插件(核心)
*/
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
}