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
相关推荐
青柠编程3 分钟前
基于Spring Boot的选课管理系统架构设计
java·spring boot·后端
湫兮之风7 分钟前
C++: Lambda表达式详解(从入门到深入)
开发语言·c++
Mr.wangh16 分钟前
Redis主从复制
java·数据库·redis
Porunarufu17 分钟前
JAVA·顺序逻辑控制
java·开发语言
Sylvia-girl24 分钟前
C语言中经常使用的函数
c语言·开发语言
~无忧花开~26 分钟前
JavaScript学习笔记(十五):ES6模板字符串使用指南
开发语言·前端·javascript·vue.js·学习·es6·js
周杰伦fans28 分钟前
C# 23种设计模式详解与示例
开发语言·设计模式·c#
1710orange36 分钟前
java设计模式:适配器模式
java·设计模式·适配器模式
CAE虚拟与现实1 小时前
PyQt和PySide中使用Qt Designer
开发语言·qt·pyqt·qt designer·pyside
Paul_09201 小时前
golang面经——channel模块
开发语言