解决mybatisPlus null 值更新的问题
发现mybatisPlus会更新对象属性为null的值,
与field-strategy配置有关
mybatis-plus: global-config: db-config: field-strategy:not_null
在3.1.0版本中,其选择的值有
publicenumFieldStrategy{ IGNORED, NOT_NULL, NOT_EMPTY, DEFAULT; privateFieldStrategy(){ } }
我刚开始选择的是ignored,所以null值会更新,像这样:
改成not_null,就是这样了
官网解释:
该策略约定了如何产出注入的sql,涉及insert,update以及wrapper内部的entity属性生成的where条件
官方链接:https://mp.baomidou.com/config/#fieldstrategy
补充:mybatis-plus更新的时候忽略null值判断
一般会更新操作都会判断null值,为null就不更新对应的字段。
但是有时候需要把特定的字段更新为null,使用mybatis-plus时可以在实体类特定属性上面加注解@TableField(strategy=FieldStrategy.IGNORED),就会忽略null值判断,将null更新进数据库。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。