io.github.wujun728.db.config.DateMetaObjectHandler Maven / Gradle / Ivy
package io.github.wujun728.db.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import io.github.wujun728.db.properties.MybatisPlusAutoFillProperties;
import org.apache.ibatis.reflection.MetaObject;
import java.util.Date;
/**
* 自定义填充公共字段
*
*/
public class DateMetaObjectHandler implements MetaObjectHandler {
private MybatisPlusAutoFillProperties autoFillProperties;
public DateMetaObjectHandler(MybatisPlusAutoFillProperties autoFillProperties) {
this.autoFillProperties = autoFillProperties;
}
/**
* 是否开启了插入填充
*/
@Override
public boolean openInsertFill() {
return autoFillProperties.getEnableInsertFill();
}
/**
* 是否开启了更新填充
*/
@Override
public boolean openUpdateFill() {
return autoFillProperties.getEnableUpdateFill();
}
/**
* 插入填充,字段为空自动填充
*/
@Override
public void insertFill(MetaObject metaObject) {
Object createTime = getFieldValByName(autoFillProperties.getCreateTimeField(), metaObject);
Object updateTime = getFieldValByName(autoFillProperties.getUpdateTimeField(), metaObject);
if (createTime == null || updateTime == null) {
Date date = new Date();
if (createTime == null) {
setFieldValByName(autoFillProperties.getCreateTimeField(), date, metaObject);
}
if (updateTime == null) {
setFieldValByName(autoFillProperties.getUpdateTimeField(), date, metaObject);
}
}
}
/**
* 更新填充
*/
@Override
public void updateFill(MetaObject metaObject) {
setFieldValByName(autoFillProperties.getUpdateTimeField(), new Date(), metaObject);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy