服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - Java教程 - 解决mybatisPlus null 值更新的问题

解决mybatisPlus null 值更新的问题

2021-08-10 11:58tplina Java教程

这篇文章主要介绍了解决mybatisPlus null 值更新的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

发现mybatisPlus会更新对象属性为null的值,

与field-strategy配置有关

?
1
2
3
4
mybatis-plus:
 global-config:
  db-config:
   field-strategy: not_null

在3.1.0版本中,其选择的值有

?
1
2
3
4
5
6
7
8
public enum FieldStrategy {
  IGNORED,
  NOT_NULL,
  NOT_EMPTY,
  DEFAULT;
  private FieldStrategy() {
  }
}

我刚开始选择的是ignored,所以null值会更新,像这样:

解决mybatisPlus null 值更新的问题

改成not_null,就是这样了

解决mybatisPlus null 值更新的问题

官网解释:

该策略约定了如何产出注入的sql,涉及insert,update以及wrapper内部的entity属性生成的 where 条件

官方链接: https://mp.baomidou.com/config/#fieldstrategy

补充:mybatis-plus更新的时候忽略null值判断

一般会更新操作都会判断null值,为null就不更新对应的字段。

但是有时候需要把特定的字段更新为null,使用mybatis-plus时可以在实体类特定属性上面加注解@TableField(strategy=FieldStrategy.IGNORED),就会忽略null值判断,将null更新进数据库。

解决mybatisPlus null 值更新的问题

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/tplina/article/details/88111458

延伸 · 阅读

精彩推荐