接口幂等性数据库乐观锁实现

场景最简单的一种方式

直接上示例代码

// 根据订单号查询订单是否存在
步骤1、Order order = orderService.getOrder(orderNo);
// 判断状态是否成功
步骤2、if (order!=null && !order.getStatus().equalsIgnoreCase("success")){
步骤3、    // 更新订单成功,以及后续业务逻辑等等
              }
执行的sql
select id,account,status,version from order where id = 1338; // 假设获得的 version = 10
update `order`
    set  status = #{status,jdbcType=VARCHAR},version=version+1
    where id = #{id,jdbcType=INTEGER}
    and version=#{version,jdbcType=INTEGER}
 
posted @ 2023-10-16 15:56  狗艳艳花  阅读(20)  评论(0编辑  收藏  举报