MybatisPlus中如何处理所有字段为null时的更新操作?

2026-04-19 21:032阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计297个文字,预计阅读时间需要2分钟。

MybatisPlus中如何处理所有字段为null时的更新操作?

发现mybatisPlus更新后,对象属性为null的值将不会被更新,这与field-strategy配置有关。mybatis-plus配置如下:

xmlmybatis-plus: global-config: db-config: field-strategy: not_null

在3.1.0版本中,可选的值有:

javapublic enum FieldStrategy { IGNORED, NOT_NULL, NOT_EMPTY}

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

与field-strategy配置有关

mybatis-plus: global-config: db-config: field-strategy: not_null

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

public enum FieldStrategy { IGNORED, NOT_NULL, NOT_EMPTY, DEFAULT; private FieldStrategy() { } }

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

改成not_null,就是这样了

官网解释:

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

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

MybatisPlus中如何处理所有字段为null时的更新操作?

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

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

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

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

标签:问题

本文共计297个文字,预计阅读时间需要2分钟。

MybatisPlus中如何处理所有字段为null时的更新操作?

发现mybatisPlus更新后,对象属性为null的值将不会被更新,这与field-strategy配置有关。mybatis-plus配置如下:

xmlmybatis-plus: global-config: db-config: field-strategy: not_null

在3.1.0版本中,可选的值有:

javapublic enum FieldStrategy { IGNORED, NOT_NULL, NOT_EMPTY}

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

与field-strategy配置有关

mybatis-plus: global-config: db-config: field-strategy: not_null

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

public enum FieldStrategy { IGNORED, NOT_NULL, NOT_EMPTY, DEFAULT; private FieldStrategy() { } }

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

改成not_null,就是这样了

官网解释:

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

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

MybatisPlus中如何处理所有字段为null时的更新操作?

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

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

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

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

标签:问题