一 背景需求描述
1.1 需求描述
我们将模拟一个"批量调整库存"的场景。多个线程(或请求)可能同时尝试修改同一批商品的库存。使用乐观锁可以避免使用 SELECT ... FOR UPDATE 带来的性能瓶颈和死锁风险。
本案例这是一个不带重试机制的完整 Spring Boot+ MyBatis乐观锁案例。
这个方案更简洁、更直接。当并发修改导致版本冲突时,它会立即抛出异常,由上层调用者(如 Controller)决定如何处理(例如:返回错误信息给前端,让用户手动重试)。
二 乐观锁(Optimistic Lock)的完整Java实例实现逻辑
2.1 具体步骤
2.1.1.创建表

2.1,2.mapper逻辑

2.1.3.service层逻辑


2.1.4.controller层

2.1.5 执行流程说明
