46 lines
1.4 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|