JooLun Plus 百科 ⬇ 源码下载

08.09 商城乐观锁使用

102353 于 2026-10-17 14:14:33 +08:00 修改了此页面

意图

  • 当要更新一条记录的时候,希望这条记录没有被别人更新

乐观锁实现方式

  • 取出记录时,获取当前version
  • 更新时,带上这个version
  • 执行更新时, set version = newVersion where version = oldVersion
  • 如果version不对,就更新失败

主要适用场景

  • 商品锁库存
  • 电子券领取
  • 等等

乐观锁插件

使用步骤

  • 注解实体字段@Version,数据库添加该字段
@Version
private Integer version;
  • 代码逻辑
if(!couponInfoService.updateById(cuponInfo)){
    throw new RuntimeException("请重新领取");
}