package com.sqx.common.utils; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; import java.util.Objects; @Component @Slf4j public class MetaObjectHandler implements com.baomidou.mybatisplus.core.handlers.MetaObjectHandler { /** * 插入操作时自动填充 * createTime 和 updateTime 必须是Date类型的字段 * * @param metaObject */ @Override public void insertFill(MetaObject metaObject) { Object createTime = getFieldValByName("createTime", metaObject); if (Objects.isNull(createTime)) { //只有被FieldFill标记的字段才会执行自动填充 setInsertFieldValByName("createTime", new Date(), metaObject); } Object updateTime = getFieldValByName("updateTime", metaObject); if (Objects.isNull(updateTime)) { setInsertFieldValByName("updateTime", new Date(), metaObject); } } /** * 更新操作时自动填充 * * @param metaObject */ @Override public void updateFill(MetaObject metaObject) { Object updateTime = getFieldValByName("updateTime", metaObject); if (Objects.isNull(updateTime)) { //只有被FieldFill标记的字段才会执行自动填充 setUpdateFieldValByName("updateTime", new Date(), metaObject); } } }