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
相关推荐
风吹迎面入袖凉几秒前
【Redis】Redisson分布式锁原理
java·服务器·开发语言
A.A呐1 分钟前
【QT第五章】系统相关
开发语言·qt
QCzblack1 分钟前
BugKu BUUCTF ——Reverse
java·前端·数据库
Orange_sparkle4 分钟前
learn claude code学习记录-S02
java·python·学习
李白你好6 分钟前
Java GUI-未授权漏洞检测工具
java·开发语言
leo__52021 分钟前
拉丁超立方抽样(Latin Hypercube Sampling, LHS)MATLAB实现
开发语言·matlab
sycmancia23 分钟前
Qt——Qt中的标准对话框
开发语言·qt
aq553560025 分钟前
四大编程语言对比:PHP、Python、Java、易语言
java·python·php
橙露40 分钟前
Python 对接 API:自动化拉取、清洗、入库一站式教程
开发语言·python·自动化
Omigeq1 小时前
1.4 - 曲线生成轨迹优化算法(以BSpline和ReedsShepp为例) - Python运动规划库教程(Python Motion Planning)
开发语言·人工智能·python·算法·机器人