MybatisPlus乐观锁失效问题
今天在使用MybatisPlus的乐观锁插件的时候,发现一件事:明明我的配置文件都配置好了,但是在执行update( ) 方法时version一直没有改变。
后来发现,原来是MybatisPlus中的规则所限制,规则如下:
取出记录时,获取当前 version
更新时,带上这个 version
执行更新时, set version = newVersion where version = oldVersion
如果 version 不对,就更新失败
我们必须要先取出当前记录,获得当前的version版本号,然后执行update( ) 语句,只有这样version字段才能生效。
正确的范例代码如下:
@Test
void test() {
// 使用selectById取出当前记录,只有这样version才能生效
Users user =mapper.selectById(4);;
user.setName("小明");
user.setAge(20);
mapper.updateById(user);
}

浙公网安备 33010602011771号