当前位置:主页 > java教程 > Mybatis saveAndUpdate空值不更新

Mybatis saveAndUpdate空值不更新问题及解决

发布:2023-04-09 14:55:02 59


本站收集了一篇相关的编程文章,网友祖清一根据主题投稿了本篇教程内容,涉及到Mybatis、saveAndUpdate、saveAndUpdate空值不更新、Mybatis、saveAndUpdate空值、Mybatis saveAndUpdate空值不更新相关内容,已被372网友关注,相关难点技巧可以阅读下方的电子资料。

Mybatis saveAndUpdate空值不更新

Mybatis saveAndUpdate空值不更新

@TableField注解有三种更新策略

public enum FieldStrategy {
    IGNORED,//参数为空也更新到数据库
    NOT_NULL,//参数不能为null
    NOT_EMPTY;//参数不能为空

    private FieldStrategy() {
    }
}

如下,如果想要name字段为空或者null时也更新数据库数据,注解上加 strategy = FieldStrategy.IGNORED

@TableField(strategy = FieldStrategy.IGNORED,value="name")
    private String name;

Mybatis使用update更新值为null时不生效

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

出现的问题

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

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

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

原因

mybatis-plus FieldStrategy 有三种策略:

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

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

解决方法

设置全局的field-strategy 

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

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

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

@TableField(strategy=FieldStrategy.IGNORED)

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

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • MyBatis的mapper.xml文件中入参和返回值的实现

    发布:2023-03-03

    这篇文章主要介绍了MyBatis的mapper.xml文件中入参和返回值的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • MyBatis的⾼级映射及延迟加载过程详解

    发布:2023-04-08

    这篇文章主要介绍了MyBatis的⾼级映射及延迟加载,包括多对一延时加载方式及一对多,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下


  • MyBatisPlus 大数据量查询慢的问题解决

    发布:2023-04-14

    本文主要介绍了MyBatis Plus 解决大数据量查询慢问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • spring中使用mybatis plus连接sqlserver的方法实现

    发布:2022-10-26

    为网友们分享了关于spring的教程,这篇文章主要介绍了spring中使用mybatis plus连接sqlserver的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • mybatis配置Mapper.xml文件时遇到的问题及解决

    发布:2023-03-03

    这篇文章主要介绍了mybatis配置Mapper.xml文件时遇到的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • 详解mybatis foreach collection示例

    详解mybatis foreach collection示例

    发布:2022-06-14

    给网友们整理关于mybatis的教程,这篇文章主要介绍了详解mybatis foreach collection的相关资料,需要的朋友可以参考下


  • MyBatis批量插入的五种方式小结(MyBatis以集合方式批量新增)

    发布:2023-03-04

    本文主要介绍了MyBatis批量插入的五种方式小结(MyBatis以集合方式批量新增),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置实例详解

    发布:2020-01-15

    今天小编就为大家分享一篇关于Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置修改建议,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


网友讨论