【解决问题】mybatis-plus想要修改某字段为null问题
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 也更新不成功
备注:
官网截图如下:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)