当要更新一条记录的时候,希望这条记录没有被别人更新
 乐观锁实现方式:
1、取出记录时,获取当前 version
 2、更新时,带上这个 version
 3、执行更新时, set version = newVersion where version = oldVersion
 4、如果 version 不对,就更新失败
简单的说就是:
 1、数据库中添加version字段
 2、取出记录时,获取当前version
SELECT id,`name`,price,`version` FROM product WHERE id=1
3、更新时,version + 1,如果where语句中的version版本不对,则更新失败
UPDATE product SET price=price+50, `version`=`version` + 1 WHERE id=1 AND `version`=1
Mybatis-Plus实现乐观锁
步骤:
1、在表中添加version字段。
 2、修改实体类
 3、添加乐观锁插件配置
spring xml 方式:
 
 springboot方式:
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    //乐观锁插件

    interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
    return interceptor;
}

 这样就配置好了乐观锁插件。
优化流程


相关文章
暂无评论...
 
                             
                         
                            