添加乐观锁插件
创建一个MybatisPlusConfiguration
配置类,代码如下:
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfiguration {
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor(){
return new OptimisticLockerInterceptor();
}
}
给字段添加@Version
注解
@Version
private long version; // 版本
支持的数据字段类型只有:int、Integer、long、Long、Date、Timestamp、LocalDateTime
也就是数字和日期两种类型。
然后在进行更新的时候这个字段的数据如果和数据库不一致,则更新失败。也就是说每一次更新都确保了数据的正确性,确保操作的数据是最新的然后更新的时候进行确认。
本质上是在更新语句后面加了where version=数据库中的值
也就体现了乐观锁的特性。
update tbl_user set name = 'update',version = 3 where id = 100 and version = 2
最后奉上MP官网的文档地址:乐观锁插件