Mybatis Plus逻辑删除字段不能为空,否则查询不出来数据。默认拼接where is_deleted=0
方式一:自动填充
// 实体字段
@ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
@TableLogic // 逻辑删除注解
@TableField(fill = FieldFill.INSERT)
private Integer isDeleted;
/**
* 自动填充类
* 实现MetaObjectHandler接口
*/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
// 插入时用
@Override
public void insertFill(MetaObject metaObject) {
// 第一个参数:类中传递的属性名,而不是表字段名
this.setFieldValByName("gmtCreate", new Date(), metaObject);
this.setFieldValByName("gmtModified", new Date(), metaObject);
this.setFieldValByName("isDeleted", 0, metaObject);
}
}
方式二:数据库字段添加默认值