乐观锁 与 悲观锁【黑马头条】

发布时间 2023-07-11 14:51:09作者: Rover20230226

一、概念介绍

乐观锁

  每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。

 

悲观锁

  每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。

 

 

二、乐观锁使用

1、给实体类变量加 @Version 注解

    /**
     * 版本号,用乐观锁
     */
    @Version
    private Integer version;

 

2、启动类   乐观锁支持

/**
     * mybatis-plus乐观锁支持
     * @return
     */
@Bean
public MybatisPlusInterceptor optimisticLockerInterceptor(){
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
    return interceptor;
}