java-admin/src/main/java/com/sqx/common/utils/MetaObjectHandler.java
2025-02-25 16:24:22 +08:00

46 lines
1.4 KiB
Java

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);
}
}
}