美文网首页
2021-06-15 SpringBoot学习 乐观锁

2021-06-15 SpringBoot学习 乐观锁

作者: 爱在心_001 | 来源:发表于2022-01-05 21:45 被阅读0次

    乐观锁
    解决某些问题,主要解决丢失更新(多个人同时操作一条数据,最后提交的把之前提交的数据覆盖)

    解决方案:
    1、悲观锁(串行操作)
    2、乐观锁(比较当前版本号是否一致,一致就等完成再操作)

    乐观锁的具体实现步骤
    1、数据库中添加version字段

      ALTER TABLE `user` ADD COLUMN `version` INT
    

    2、对应实体类添加版本号属性

        @Version//代表这是一个乐观锁version注解
        private Integer version;//版本号
    

    3、配置乐观锁插件

    @Configuration
    @MapperScan("com.aiguigu.demo.mapper")
    public class MpConfig {
        //乐观锁插件
        @Bean
        public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor () {
            return new OptimisticLockerInnerInterceptor();
        }
    }
    

    使用的时候:
    1.取出记录时,获取当前version
    2.更新的时候带上这个version
    3.执行更新时set version = newVersion where version = oldVersion
    4.如果version不对,就更新失败

    相关文章

      网友评论

          本文标题:2021-06-15 SpringBoot学习 乐观锁

          本文链接:https://www.haomeiwen.com/subject/mqbtyltx.html