Mybatis使用update更新值为null时不生效问题解决

 更新时间:2023年06月06日 09:01:31   作者:Clsrm  
这篇文章主要介绍了Mybatis使用update更新值为null时不生效问题解决,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

该文章纯属记录使用过程中遇到的问题更新null值没有生效的问题解决办法,内容较为简单。

1.出现的问题

前端修改数据时把属性内容删除然后进行保存,默认传的null,后端更新时属性值为null,然后调用updateById进行更新时发现该属性还是原来的值:

name:"tt";
//前端页面把该属性内容进行删除传给我后端
{
name: null
}
//后端接收到的
name: null
//使用该方法进行更新
updateById();
//结果name还是等于更新前的值
name: "tt";

后面百度发现该update方法不会对属性null的进行更新

2.原因

mybatis-plus FieldStrategy 有三种策略:

  • IGNORED:忽略
  • NOT_NULL:非 NULL,默认策略
  • NOT_EMPTY:非空

默认非空,所有更新时不生效的问题

3.解决方法

设置全局的field-strategy 

这样全局配置会把所有的属性都忽略,对于一些不需要改的属性可能会影响业务的准确性。

②给单独的属性设置field-strategy

根据实际应用情况对某些属性增加该注解来忽略策略

@TableField(strategy=FieldStrategy.IGNORED)

这样增加该注解的属性就可以使用updateById()方法进行更新null值。

------当然还有其他的好的方法也可以去参考

到此这篇关于Mybatis使用update更新值为null时不生效的文章就介绍到这了,更多相关Mybatis使用update更新值为null内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java中lambda表达式的分析与具体用法

    java中lambda表达式的分析与具体用法

    这篇文章主要给大家介绍了关于java中lambda表达式具体用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Java中List删除元素的几种方法总结推荐

    Java中List删除元素的几种方法总结推荐

    这篇文章主要给大家介绍了关于Java中List删除元素的几种方法总结,相信大家在日常的开发过程中,经常需要对List或Map里面的符合某种业务的数据进行删除,需要的朋友可以参考下
    2023-10-10
  • Java如何实现远程文件下载到本地目录

    Java如何实现远程文件下载到本地目录

    本文介绍了如何使用Java来实现远程文件的下载功能,主要通过HTTPS路径下载文件到本地目录,详细介绍了相关代码和测试步骤,并提供了实际案例供参考,本文旨在帮助需要实现文件下载功能的开发者快速掌握核心技术
    2024-10-10
  • SpringBoot自动配置实现流程详细分析

    SpringBoot自动配置实现流程详细分析

    这篇文章主要介绍了SpringBoot自动配置原理分析,SpringBoot是我们经常使用的框架,那么你能不能针对SpringBoot实现自动配置做一个详细的介绍。如果可以的话,能不能画一下实现自动配置的流程图。牵扯到哪些关键类,以及哪些关键点
    2022-12-12
  • Netty分布式ByteBuf使用SocketChannel读取数据过程剖析

    Netty分布式ByteBuf使用SocketChannel读取数据过程剖析

    这篇文章主要为大家介绍了Netty源码分析ByteBuf使用SocketChannel读取数据过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • mybatis 对于生成的sql语句 自动加上单引号的情况详解

    mybatis 对于生成的sql语句 自动加上单引号的情况详解

    这篇文章主要介绍了mybatis 对于生成的sql语句 自动加上单引号的情况详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java while(scanner.hasNext())无法跳出的解决方案

    Java while(scanner.hasNext())无法跳出的解决方案

    这篇文章主要介绍了Java while(scanner.hasNext())无法跳出的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java的Hibernate框架中的组合映射学习教程

    Java的Hibernate框架中的组合映射学习教程

    组合映射即是指主对象和子对象关联且拥有相同的生命周期的映射关系,这里我们将举一些数据操作的实例,来讲解Java的Hibernate框架中的组合映射学习教程
    2016-07-07
  • JavaWeb搭建网上图书商城毕业设计

    JavaWeb搭建网上图书商城毕业设计

    这篇文章主要介绍了JavaWeb搭建网上图书商城框架,特别适合正在为网上商城毕业设计烦恼的同学,需要的朋友可以参考下
    2015-11-11
  • SkyWalking 自定义插件(Spring RabbitMQ)具体分析过程

    SkyWalking 自定义插件(Spring RabbitMQ)具体分析过程

    这篇文章主要介绍了SkyWalking 自定义插件(Spring RabbitMQ)具体分析过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02

最新评论