【解决问题】mybatis-plus想要修改某字段为null问题

背景:

最近将框架的mybits换为mybits-plus,然后在调用updateById时候,想让某个字段修改null,一直失败

问题:

mybits-plus调用updateById时候,想让某个字段修改null,一直失败

问题原因:

mybatis-plus会将所有为空的字段在修改时进行过滤,不进行为空的修改操作

修改方案:

方案1:

修改MyBatis-Plus 全局默认策略

mybatis-plus:
  global-config:
      #字段策略 0:"忽略判断",1:"非 NULL 判断",2:"非空判断"
    field-strategy: 0

缺点:

这样做会对所有的字段都忽略判断,如果一些字段不想要修改,但是传值的时候没有传递过来,就会被更新为null

方案2:

修改实体类注解,改变字段的忽略判断

@TableField( updateStrategy = FieldStrategy.IGNORED)
    private Date useTime;

缺点:

需要注意数据库字段是否设置为 非null ,如果为非null 也更新不成功

备注:

官网截图如下:

【解决问题】mybatis-plus想要修改某字段为null问题_第1张图片

你可能感兴趣的:(mybatis,mysql,数据库)