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
相关推荐
皮皮林5519 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河10 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程12 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅14 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者15 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺15 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart16 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP17 小时前
MyBatis-mybatis入门与增删改查
java
孟陬21 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端