mybatis-plus使用updateById更新数据不生效,需要使用lambdaUpdate
项目引入mybatis-plus,在serviceImpl层,可直接使用以下代码调用:this.baseMapper.updateById(对象);在此存在一个问题,如果对象中的值需要设置为null,则这个字段不会被update成功。所以在需要设置可能为null的字段,需要用lambdaUpdate()使用方法为:this.lambdaUpdate().set(对象::get字段名, 需要修改为什
·
项目引入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也会更新这个字段
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)