MybatisPlus乐观锁插件使用
Mybatis Plus里面自带一个插件,可以帮我们轻松实现乐观锁。
1、插件配置
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//分页插件
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
//乐观锁插件
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
2、实体类配置
@Version private Integer version;
3、数据库增加version版本字段
CREATE TABLE `test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(524) DEFAULT NULL COMMENT '图片', `url` varchar(524) DEFAULT NULL COMMENT '跳转地址', `weight` int(11) DEFAULT NULL COMMENT '权重', `version` int(11) DEFAULT '1' COMMENT '乐观锁版本号', `deleted` int(11) DEFAULT '0' COMMENT '0是未删除,1是已经删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4;
4、测试效果
public Integer update(){ Test test = new Test(); test.setId(3); test.setName("王八"); test.setVersion(1); return testMapper.updateById(test); }
注意:
乐观锁数据类型支持int、integer、long、timestamp
仅支持updateById和update方法
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号