mybatis-plus插入或更新的字段有空字符串或者null

以下内容来自官网 来源地址

FieldStrategy 有三种策略:

  • IGNORED:忽略

  • NOT_NULL:非 NULL,默认策略

  • NOT_EMPTY:非空

  • 当用户有更新字段为 空字符串 或者 null 的需求时,需要对 FieldStrategy 策略进行调整:

  • 方式一:调整全局的验证策略

    注入配置 GlobalConfiguration 属性 fieldStrategy

  • 方式二:调整字段验证注解

    根据具体情况,在需要更新的字段中调整验证注解,如验证非空:

    @TableField(strategy=FieldStrategy.NOT_EMPTY)
    
  • 方式三:使用 UpdateWrapper (3.x)
    使用以下方法来进行更新或插入操作:

    //updateAllColumnById(entity) // 全部字段更新: 3.0已经移除
    mapper.update(
      new User().setName("mp").setAge(3),
      Wrappers.<User>lambdaUpdate()
              .set(User::getEmail, null) //把email设置成null
              .eq(User::getId, 2)
    );
    //也可以参考下面这种写法
    mapper.update(
       null,
       Wrappers.<User>lambdaUpdate()
          .set(User::getAge, 3)
          .set(User::getName, "mp")
          .set(User::getEmail, null) //把email设置成null
          .eq(User::getId, 2)
    );
    

你可能感兴趣的:(java,mybatis,java)