zoukankan      html  css  js  c++  java
  • 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));
        }
  • 相关阅读:
    vue--一些预设属性
    vue--vux框架的使用
    vue--vConsole
    vue--音乐播放器
    vue--使用vue-cli构建项目
    vue--实例化对象
    vue--数据显示模版上
    CSS--交互效果
    Git SSH公钥配置
    gradle配置国内镜像
  • 原文地址:https://www.cnblogs.com/M87-A/p/15359997.html
Copyright © 2011-2022 走看看