mybatis_plus实现自动填充和逻辑删除

 

自定义填充

  • 设置自定义填充规则
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
​
import java.util.Date;
​
@Component
public class MyBatisMetaObjectHandler implements MetaObjectHandler {
​
    /**
     * 自定义插入时填充规则
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        // 注意是类属性字段名称,不是表字段名称
        this.setFieldValByName("createTime", new Date(), metaObject);//新增自动填充当前时间
        this.setFieldValByName("updateTime", new Date(), metaObject);//新增时自动填充当前时间
        this.setFieldValByName("delFlag", 0, metaObject);//新增时候自动填充该标识
        this.setFieldValByName("password", "babc156ac796828d0d08625f86f6dc55", metaObject);//默认密码123
    }
​
    /**
     * 自定义更新时填充规则
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        // 注意是类属性字段名称,不是表字段名称
        this.setFieldValByName("updateTime", new Date(), metaObject);//修改时候自动填充
    }
​
​
}
  • 在实体类上添加注解,

    //创建时间
    @TableField(fill = FieldFill.INSERT) //将会在新增时候填充该字段
    private Date createTime;
    //修改时间
    @TableField(fill = FieldFill.UPDATE) //将在修改时候填充该字段
    private Date updateTime;

      

 

mybatisplus逻辑删除配置

  • 配置mybatis_plus

mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: id-type: auto logic-delete-value: 1//删除字段变一 logic-not-delete-value: 0 //默认为0

  • 实体类新增注解,逻辑删除字段
@TableLogic//打开此注解删除时自动修改为0,再次查询自动过滤该条标记数据
@TableField(fill = FieldFill.INSERT)//插入自动填充0
private Integer delFlag;//删除标记
原文地址:https://www.cnblogs.com/859630097com/p/14973652.html