M87星云

导航

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方法

 

posted on 2025-04-16 11:47  挽留匆匆的美丽  阅读(64)  评论(0)    收藏  举报