当前位置: 代码迷 >> 综合 >> 插入或更新的字段有 空字符串 或者 null
  详细解决方案

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

热度:99   发布时间:2024-03-07 23:50:14.0

FieldStrategy 有三种策略:

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

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

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

    注入配置 GlobalConfiguration 属性 fieldStrategy

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

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

    @TableField(strategy=FieldStrategy.NOT_EMPTY)
    
  • 方式三:使用 UpdateWrapper (3.x)

    使用以下方法来进行更新或插入操作:

    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)
    );
    
  相关解决方案