解决Mybatis-Plus更新对象时为法将某字段更新为空值的问题

简介: 解决Mybatis-Plus更新对象时为法将某字段更新为空值的问题

一、问题描述


最近在基于SpringBoot与Mybatis-Plus开发一个CRM系统时遇到了需要将字段更新为空值的情况,后端代码的业务逻辑也是正确的,但是需要更新为空值的字段仍然保持原本的值,在控制台打印出SQL日志后发现设置为空值的字段就没有参与更新。

image.png

二、解决方法


在实体类中需要更新为空值的字段上加入@TableField(updateStrategy = FieldStrategy.IGNORED)注解即可。

在Mybatis-Plus的更新方法中,如果没有提前指定的话,更新后的结果为空值时会被自动过滤掉,因此要在实体类的字段上提前声明。

image.png

添加注解后更新的结果:

image.png

总结


通过解决了无法将字段更新为空值的问题后,更加深入的理解了Mybatis-Plus的执行方法,以后遇到无法更新字段为空值时要先想是否声明了该字段可以更新为空值

image.png

相关文章
|
2天前
|
数据库
mybatisplus返回指定字段的两种方式
mybatisplus返回指定字段的两种方式
55 1
|
2天前
|
SQL XML Java
【mybatis】第二篇:@Select注解中加入字段判断
【mybatis】第二篇:@Select注解中加入字段判断
|
2天前
|
SQL Java 数据库连接
15:MyBatis对象关系与映射结构-Java Spring
15:MyBatis对象关系与映射结构-Java Spring
31 4
|
2天前
|
SQL Java 数据库连接
Mybatis Plus字段为空值时未更新解决方案
Mybatis Plus字段为空值时未更新解决方案
|
2天前
|
XML Java 数据库连接
java对象有集合mybatis如何映射
java对象有集合mybatis如何映射
21 4
|
2天前
|
SQL Java 数据库连接
深度解析MyBatis核心:探寻其核心对象的精妙设计
深度解析MyBatis核心:探寻其核心对象的精妙设计
24 1
深度解析MyBatis核心:探寻其核心对象的精妙设计
|
2天前
|
XML Java 数据库连接
MyBatis返回Map时值为null的字段会丢失
MyBatis返回Map时值为null的字段会丢失
|
2天前
|
数据库
MybatisPlus属性字段为数据库关键字
MybatisPlus属性字段为数据库关键字
22 0
|
2天前
|
Java 数据库连接 mybatis
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
mybatis plus字段为null或空字符串把原来的数据也更新了,只需要注解
24 0
|
2天前
|
Java 数据库连接 mybatis
在SpringBoot集成下,Mybatis的mapper代理对象究竟是如何生成的
在SpringBoot集成下,Mybatis的mapper代理对象究竟是如何生成的
28 0