MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题

项目场景:

使用Mybatis-plus的updateById去更新实体类的时候,如果设置实体类中的某个字段为null,会导致为null的字段不做更新操作


问题描述

updateById方法 不会更新null值

解决方案:

在字段上加上

java 复制代码
 @TableField(updateStrategy = FieldStrategy.IGNORED)

参数说明

FieldStrategy 是 MyBatis-Plus 框架中的一个枚举类,用于定义字段更新策略。

该枚举类包含以下几个常量:

IGNORED:意思是"忽略判断",所有值都更新和插入。

NOT_NULL:当字段为 null 时不进行更新。

NOT_EMPTY:当字段为null 或空字符串时不进行更新。

DEFAULT:使用数据库默认值进行更新。 NEVER:永远不更新字段的值。
全局配置 yaml文件这样配置

java 复制代码
#如果在更新操作时,如果字段为null,也要进行更新操作
mybatis-plus.global-config.db-config.update-strategy=ignored
相关推荐
二川bro24 分钟前
模型部署实战:Python结合ONNX与TensorRT
开发语言·python
联系QQ:2769988529 分钟前
电化学与冷启动仿真的赝电容计算及GITT扩散系数研究——阻抗分析拟合与全电池电容器性能评估
开发语言
Croa-vo1 小时前
Tesla Spring 2026 Co-op 面经:CodeSignal真题解析与通关攻略
java·后端·spring
n***78681 小时前
SpringCloud-持久层框架MyBatis Plus的使用与原理详解
spring·spring cloud·mybatis
言言的底层世界1 小时前
c++中STL容器及算法等
开发语言·c++·经验分享·笔记
C***u1761 小时前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
CodeAmaz1 小时前
Spring 事务失效的 8 种常见场景总结
java·spring·事务失效
liu****1 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
隔山打牛牛1 小时前
Spring 整合 MyBatis 深度详解(原理 + 实操 + 源码级解析)
java·spring·mybatis
华仔啊1 小时前
SpringBoot 动态菜单权限系统设计的企业级解决方案
java·后端