如何保证数据一致性

1、声明式事务。@Transcation

   ----  问题: 大量的操作在一个函数里,会导致锁的时间长,特别是中间夹杂第三方操作的时候,进而导致响应超时,或者数据库线程池被占光。

2、编程使事务 TranscationTemplate

    并且用带版本号的乐观锁。

            表中加version字段,表示版本。

    先确定要修改记录的version值位 100

       在TranscationTemplate的执行方法中,执行SQL语句:UPDATE TABLE SET COL1='',VERSION=VERSION+1 WHERE COL2='' AND VERSION = 100;

      并且获取返回值,也就是修改掉的条数。

        如果条数为1,表示修改成功,也就是可以往下走了。

        如果条数不为1,表示修改失败,也就是不可以往下走。

         ----- 问题,没法回滚了。

扫描二维码关注公众号,回复: 157539 查看本文章

猜你喜欢

转载自www.cnblogs.com/aoyihuashao/p/9005491.html