在开发过程中,db的设计中会有这条数据的创建时间与修改时间
但怎么样能省去set的过程呢,这里使用Mybatis Plus的自动填充功能
一、在实体类上加入注解
/** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime;
二、实现元对象处理器接口
注意:不要忘记加@Component注解
package com.audit.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.Date; @Component public class MyMetaObjectHandler implements MetaObjectHandler { private static final Logger logger= LoggerFactory.getLogger(MetaObjectHandler.class); /** * 插入元对象字段填充(用于插入时对公共字段的填充) * * @param metaObject 元对象 */ @Override public void insertFill(MetaObject metaObject) { logger.info("start insert fill ..."); this.setFieldValByName("createTime",new Date(),metaObject); this.setFieldValByName("updateTime",new Date(),metaObject); } /** * 更新元对象字段填充(用于更新时对公共字段的填充) * * @param metaObject 元对象 */ @Override public void updateFill(MetaObject metaObject) { logger.info("start update fill ..."); this.setFieldValByName("updateTime",new Date(),metaObject); } }
这样,在使用mp进行添加操作时就可以实现自动填充