如何利用MybatisPlus实现乐观锁
引入MybatisPlus的加粗样式拦截器MybatisPlusInterceptor,配置到bean中。
新建一个类,类中代码如下
@EnableTransactionManagement
// 这里写你项目中对应的mapper包地址
@MapperScan("com.cn.****.mapper")
@Configuration
public class InterceptorHandler {
@Bean
public MybatisPlusInterceptor myOptimisticLockerInnerInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
}
然后实体类中,需要使用的乐观锁地段上加@Version注解,像这个样子
@Version
@TableField("version")
private Integer version;
一般可以使用在Integer,Long,date类型上,String类型是无法生效的,
向sql语句中传入version的值,打印结果是
update user set version = version + 1 where version = #{}
执行成功后 version会加1.
那么如果不传入version这个值, 则version的值不会改变
也不会出现相关的sql语句字段