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));
        }
  • 相关阅读:
    20150316--TP-01
    20150314--TP-02
    20150314--TP-01
    20150313+微信-全
    表单/iframe与video标签
    图像/超链接标签
    HTML列表与表格
    JAVA新的一天
    MySQL常用函数
    php基础--来自网页转载
  • 原文地址:https://www.cnblogs.com/M87-A/p/15359997.html
Copyright © 2011-2022 走看看