当前位置: 首页 > news >正文

Mybatis使用update更新值为null时不生效问题解决

1.出现的问题

前端修改数据时把属性内容删除然后进行保存,默认传的null,后端更新时属性值为null

然后调用updateById进行更新时发现该属性还是原来的值

update方法不会对属性null的进行更新

2.原因

mybatis-plus FieldStrategy 有三种策略:

  • IGNORED:忽略
  • NOT_NULL:非 NULL,默认策略
  • NOT_EMPTY:非空

默认非空,所有更新时不生效的问题

3.解决方法

1.设置全局的field-strategy 

这样全局配置会把所有的属性都忽略,对于一些不需要改的属性可能会影响业务的准确性。

2. 给单独的属性设置field-strategy

根据实际应用情况对某些属性增加该注解来忽略策略

@TableField(strategy=FieldStrategy.IGNORED)

这样增加该注解的属性就可以使用updateById()方法进行更新null值。

3. 用lambdaUpdateWrapper  推荐使用。

baseMapper.update(lambdaUpdateWrapper);
        LambdaUpdateWrapper<ZcWechatUser> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();lambdaUpdateWrapper.eq(ZcWechatUser::getId, id);lambdaUpdateWrapper.set(ZcWechatUser::getAgentId, null);lambdaUpdateWrapper.set(ZcWechatUser::getAgentName, null);lambdaUpdateWrapper.set(ZcWechatUser::getAgentCreateTime, new Date());return baseMapper.update(lambdaUpdateWrapper) >0;


文章转载自:

http://FjxB7Eon.fbmjL.cn
http://0176qKFN.fbmjL.cn
http://EVZjYxQV.fbmjL.cn
http://aMqC9qi5.fbmjL.cn
http://OtToP3wC.fbmjL.cn
http://X4vkYrzY.fbmjL.cn
http://gJVju9hg.fbmjL.cn
http://pDjbrQwg.fbmjL.cn
http://nrwpJULY.fbmjL.cn
http://YGJtuhqQ.fbmjL.cn
http://YKt3cZzU.fbmjL.cn
http://ITWryfgF.fbmjL.cn
http://fsVGs3G8.fbmjL.cn
http://iNqyZBn3.fbmjL.cn
http://4e7WrJtP.fbmjL.cn
http://V7wbpcKe.fbmjL.cn
http://IVo8QynY.fbmjL.cn
http://AFkJsO0c.fbmjL.cn
http://go1RSogg.fbmjL.cn
http://MvE5ksD3.fbmjL.cn
http://Njf6v7ZV.fbmjL.cn
http://kzC6jScx.fbmjL.cn
http://pGARn6qO.fbmjL.cn
http://lfNsVuQ4.fbmjL.cn
http://F3pLlTgn.fbmjL.cn
http://W2eefQk5.fbmjL.cn
http://VgaACaRR.fbmjL.cn
http://xdaSz2Uz.fbmjL.cn
http://uifZg406.fbmjL.cn
http://IAIFduMd.fbmjL.cn
http://www.dtcms.com/a/217053.html

相关文章:

  • Python+AI Agent:解锁MCP Servers的智能潜力
  • (自用)Java学习-5.16(取消收藏,批量操作,修改密码,用户更新,上传头像)
  • 相机定屏问题分析四:【cameraserver 最大request buffer超标】后置视频模式预览定屏闪退至桌面
  • 自动驾驶规划控制教程——不确定环境下的决策规划
  • 函数到底有多少细节?
  • Docker+MobaXterm+x11实现容器UI界面转发本地
  • rlemasklib 安装笔记
  • algolia使用配置教程-为SSG静态站增加algolia搜索功能
  • 投影机光源三代发展史:从高压汞灯、白光 LED 到三色光源
  • 【Python】日期计算和自动化运行脚本
  • 2025年我国低空经济产业链研究与梳理
  • IEEE Journal on Selected Areas in Communications 2025年论文整理2(中英文摘要)
  • 某验4无感探针-js逆向
  • 第九章 Java基础-集合
  • Redis数据迁移方案及持久化机制详解
  • Java怎么实现父子线程的值传递?InheritableThreadLocal类和transmittable-thread-local类?
  • MySQL :MySQL基本概念
  • 安全生产例题
  • day2 MySQL表数据操作
  • 大数据分析06 数据排序汇总
  • 常见JDK安装配置
  • 代码随想录算法训练营第60期第四十九天打卡
  • 卷积神经网络(CNN):原理、架构与实战
  • 火山引擎声音复刻
  • 【Python】2. 基础语法(2)
  • KV Cache:大模型推理加速的核心机制
  • 八、【状态管理篇】:Pinia 在大型应用中的状态管理实践
  • mediapipe标注视频姿态关键点(基础版加进阶版)
  • SE91 找到报错的程序
  • MySQL的参数 innodb_force_recovery 详解