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
相关推荐
枫叶丹47 分钟前
【Qt开发】布局管理器(五)-> QSpacerItem 控件
开发语言·数据库·c++·qt
_OP_CHEN12 分钟前
C++进阶:(八)基于红黑树泛型封装实现 map 与 set 容器
开发语言·c++·stl·set·map·红黑树·泛型编程
C1161120 分钟前
Jupyter中选择不同的python 虚拟环境
开发语言·人工智能·python
oak隔壁找我27 分钟前
Spring AI 实现MCP简单案例
java·人工智能·后端
大头an27 分钟前
Spring事务传播机制深度解析:7种传播行为的使用场景和陷阱
java
星光一影29 分钟前
SpringBoot+Vue3无人机AI巡检系统
人工智能·spring boot·websocket·mysql·intellij-idea·mybatis·无人机
lichong95129 分钟前
【macOS 版】Android studio jdk 1.8 gradle 一键打包成 release 包的脚本
android·java·前端·macos·android studio·大前端·大前端++
qq_4017004138 分钟前
Qt键盘组合
开发语言·qt
失散1339 分钟前
分布式专题——53 ElasticSearch高可用集群架构实战
java·分布式·elasticsearch·架构
lkbhua莱克瓦241 小时前
Java入门——Java跨平台的原理
java·开发语言·笔记·github