mybatis-plus在更新数据时乐观锁version无效

今天在使用mybatis-plus乐观锁插件时,发现乐观锁并没有生效。
查了问题发现首先需要查询出结果(也就是需要version),然后再进行更新,这样乐观锁就能起作用了。

文档:https://mybatis.plus/guide/interceptor-optimistic-locker.html#optimisticlockerinnerinterceptor

OptimisticLockerInnerInterceptor
当要更新一条记录的时候,希望这条记录没有被别人更新
乐观锁实现方式:

取出记录时,获取当前version
更新时,带上这个version
执行更新时, set version = newVersion where version = oldVersion
如果version不对,就更新失败
使用了mybatis plus的乐观锁后,自己写sql更新内容时,不要加where version = xxx条件,也不需要手动给version + 1,mybatis会自己管理。自己再去维护会适得其反,只会导致更新永远是失败的。

上一篇:windows下安装Apache


下一篇:element ui el-pagination重载数据时分页不更新