MybatisPlus 乐观锁插件使用

什么是乐观锁?

  每次去拿数据的时候都认为别人不会修改,更新的时候会判断是别人是否回去更新数据,通过版本来判断,如果数据被修改了就拒绝更新。

 

Mybatis Plus里面自带一个插件,可以帮我们轻松实现乐观锁

 

使用方式:

1、需要在数据库表创建version字段,类型为int

CREATE TABLE `banner` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `img` varchar(524) DEFAULT NULL COMMENT '图片',
  `url` varchar(524) DEFAULT NULL COMMENT '跳转地址',
  `version` int(11) DEFAULT '1' COMMENT '乐观锁版本号'
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4;

2、创建实体类,增加version属性注解

@Version
private Integer version;

 

3、配置乐观锁插件

@Configuration
public class MybatisPlusPageConfig {

    /**
     * 新的分页插件(推荐)
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //分页插件
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));

        //乐观锁插件
        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());

        return interceptor;
    }

}

 

4、测试使用,当修改version对象版本号的数据记录,乐观锁自动生效

    @Test
    public void testUpdaate(){
        Banner banner = new Banner();
        banner.setUrl("http://baidu.com");
        banner.setId(3);
        banner.setVersion(2); //对应的版本号
        log.info("修改结果:{}",bannerDao.updateById(bannerDO));
    }

 

上一篇:026.央视官网顶部banner及导航布局


下一篇:Visual Studio 集成开发工具学习(2)Visual Studio 2008快捷键大全