问题背景
使用mybatis-plus进行数据库交互,默认开启null不更新设置,在新增数据后,编辑页面将字段值清除后(date类型,int类型,为避免默认值传入,model全部使用包装类型初始化为null)无法将null值更新至数据库
单个解决方案
通过UpdateWrapper的set方法强制字段为null值
通用解决方法
定义基础类BaseModel,增加属性updateFieldList,model继承此类
public class BaseModel { @TableField(exist = false) @JSONField(serialize = false) private List<String> updateFieldList; public List<String> getUpdateFieldList() { return updateFieldList; } public void setUpdateFieldList(List<String> updateFieldList) { this.updateFieldList = updateFieldList; }