mybatis-plus使用updateById更新数据不生效,需要使用lambdaUpdate

项目引入mybatis-plus,在serviceImpl层,可直接使用以下代码调用:

this.baseMapper.updateById(对象);

在此存在一个问题,如果对象中的值需要设置为null,则这个字段不会被update成功。

所以在需要设置可能为null的字段,需要用
lambdaUpdate()
使用方法为:

this.lambdaUpdate().set(对象::get字段名, 需要修改为什么样的值)
            .eq(对象::get条件字段名, 条件满足这个值).update(new 对象());
            // 举个例子
            this.lambdaUpdate().set(User::getName(), name)
            .eq(User::getUserId, userId).update(new User());
            // 这样name为null也会更新这个字段

你可能感兴趣的:(数据库,Java,java,mybatis,lambda,后端,数据库)