侧边栏壁纸
博主头像
王旭阳个人博客博主等级

工欲善其事,必先利其器

  • 累计撰写 117 篇文章
  • 累计创建 28 个标签
  • 累计收到 24 条评论

目 录CONTENT

文章目录

MybatisPlus中使用 updateById()更新字段为空字符串,null 不更新问题

wxy
wxy
2023-11-07 / 0 评论 / 3 点赞 / 109 阅读 / 1955 字
温馨提示:
本文最后更新于 2023-11-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

MybatisPlus使用 update()/updateById()将字段更新为null或者空值时候不起作用。

原因:MybatisPlus FieldStrategy 有多种策略:

方法一(单独配置)

在实体类的字段是加上 @TableField(strategy = FieldStrategy.IGNORED) 注解 忽略判断

FieldStrategy还有其他几个值:

package com.baomidou.mybatisplus.annotation;
public enum FieldStrategy {
    IGNORED,  // 忽略判断
    NOT_NULL, // 非null判断
    NOT_EMPTY, // 非空判断
    DEFAULT,
    NEVER; 
    private FieldStrategy() {
    }
}

参考文档

方法二(全局配置)

# MyBatisPlus配置
# https://baomidou.com/config/
mybatis-plus:
  global-config:
      # 字段验证策略之 insert,在 insert 的时候的字段验证策略
      # IGNORED 忽略判断
      # NOT_NULL 非NULL判断
      # NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断)
      # DEFAULT 默认的,一般只用于注解里
      # NEVER 不加入 SQL
      insertStrategy: NOT_EMPTY
      # 字段验证策略之 update,在 update 的时候的字段验证策略
      updateStrategy: NOT_EMPTY
      # 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
      selectStrategy: NOT_EMPTY

3

评论区