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
相关推荐
历程里程碑几秒前
子串-----和为 K 的子数组
java·数据结构·c++·python·算法·leetcode·tornado
独自破碎E3 分钟前
字符串相乘
android·java·jvm
王多鱼鱼鱼9 分钟前
QT如何将exe打包成可执行文件
开发语言·qt
DokiDoki之父12 分钟前
边写软件边学kotlin(一):Kotlin语法初认识:
android·开发语言·kotlin
liu****13 分钟前
Qt进阶实战:事件处理、文件操作、多线程与网络编程全解析
开发语言·网络·数据结构·c++·qt
草原上唱山歌15 分钟前
C++如何调用Python代码
开发语言·c++·python
木子啊17 分钟前
PHP中间件:ThinkCMF 6.x核心利器解析
开发语言·中间件·php
崇山峻岭之间18 分钟前
Matlab学习记录40
开发语言·学习·matlab
Java后端的Ai之路19 分钟前
【Python教程11】-文件
开发语言·python
东东51620 分钟前
OA自动化居家办公管理系统 ssm+vue
java·前端·vue.js·后端·毕业设计·毕设