1、数据库悲观锁
select * from t_order where order_id = trade_no for update;
会添加行级锁,保证顺序执行。
2、去重表
新建一张表,把唯一标识作为唯一索引,通过插入时是否违反唯一值规则来防止重复处理。
3、基于版本号或时间戳
update goods
set name=#{newName},version=#{version}
where id=#{id} and version<${version}
注意这里用到的version
字段。