解决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

相关文章
|
3月前
|
Java 数据库连接 数据库
mybatis查询数据,返回的对象少了一个字段
mybatis查询数据,返回的对象少了一个字段
266 8
|
1月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
1月前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
|
2月前
|
SQL Java 数据库连接
mybatis如何仅仅查询某个表的几个字段
【10月更文挑战第19天】mybatis如何仅仅查询某个表的几个字段
91 1
|
5月前
|
Java 数据库连接 数据库
mybatis plus 更新值为null的字段
mybatis plus 更新值为null的字段
67 7
|
5月前
|
数据库
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
MybatisPlus3---常用注解,驼峰转下滑线作为表明 cteateTime 数据表中的 cteate_time,@TableField,与数据库字段冲突要使用转义字符“`order`“,is
|
6月前
|
Java 数据库连接 mybatis
使用Mybatis获取sqlSession对象老爆红的问题解决
使用Mybatis获取sqlSession对象老爆红的问题解决
|
7月前
|
SQL Java 数据库连接
15:MyBatis对象关系与映射结构-Java Spring
15:MyBatis对象关系与映射结构-Java Spring
130 4
|
7月前
|
SQL Java 数据库连接
Mybatis Plus字段为空值时未更新解决方案
Mybatis Plus字段为空值时未更新解决方案
777 1
|
2月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
151 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。