乐观锁实现方式:
1.取出记录时,获取当前version
2.更新时,带上这个version
3.执行更新时, set version = newVersion where version = oldVersion
4.如果version不对,就更新失败
这让我想起了Java中的一个关键字volatile
使用方法第一步
字段上加上
@Version注解
@Version
private Integer version;
支持的数据类型只有:
int,
Integer,
long,
Long,
Date,Timestamp,
LocalDateTime
使用第二部
注册组件
// Spring Boot 方式
@Configuration
@MapperScan("按需修改")
public class MybatisPlusConfig {
/**
* 旧版
* Optimistic乐观
* 注册乐观锁插件
*/
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
/**
* 新版
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return mybatisPlusInterceptor;
}
}
本文详细介绍了乐观锁在Spring Boot中的应用,通过`@Version`注解配合MyBatis Plus插件,演示了如何在数据库操作中实现版本校验防止并发冲突。
3083

被折叠的 条评论
为什么被折叠?



