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
相关推荐
牛奔14 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
寻星探路18 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly20240619 小时前
Bootstrap 警告框
开发语言
2601_9491465320 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧20 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX20 小时前
服务异步通信
开发语言·后端·微服务·ruby
zmzb010320 小时前
C++课后习题训练记录Day98
开发语言·c++
爬山算法21 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72521 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai