You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Epidemic/src/main/java/com/liu/covid/handler/MyMetaObjectHandler.java

45 lines
1.8 KiB

package com.liu.covid.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 自定义 MyMetaObjectHandler 实现自动填充功能
* 用于在插入或更新数据时自动填充指定字段的值,如创建时间、更新时间等。
*/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
/**
* 插入时自动填充字段
* 在插入数据时,自动填充 createTime、updateTime 字段为当前时间。
* 注意:通常不建议在同一个实体中同时使用 createTime 和 register 字段来记录时间,
* 因为这种做法可能会导致字段含义不明确。这里假设 register 字段有其他特定用途。
*
* @param metaObject 元对象,代表当前操作的数据对象
*/
@Override
public void insertFill(MetaObject metaObject) {
// 设置 createTime 字段为当前时间
this.setFieldValByName("createTime", new Date(), metaObject);
// 设置 register 字段为当前时间,这里假设 register 字段有其他特定用途
this.setFieldValByName("register", new Date(), metaObject);
// 设置 updateTime 字段为当前时间
this.setFieldValByName("updateTime", new Date(), metaObject);
}
/**
* 更新时自动填充字段
* 在更新数据时,自动填充 updateTime 字段为当前时间。
*
* @param metaObject 元对象,代表当前操作的数据对象
*/
@Override
public void updateFill(MetaObject metaObject) {
// 设置 updateTime 字段为当前时间
this.setFieldValByName("updateTime", new Date(), metaObject);
}
}