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.

33 lines
1.9 KiB

// 声明代码所在的包名,这里表明该类属于 com.rabbiter.common 包
package com.rabbiter.common;
// 导入 MyBatis-Plus 框架中的 MetaObjectHandler 接口,用于处理自动填充元数据信息
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
// 导入 MyBatis 框架中的 MetaObject 类,用于对 Java 对象进行反射操作
import org.apache.ibatis.reflection.MetaObject;
// 导入 Spring 框架的 Component 注解,用于将该类标记为 Spring 组件,以便 Spring 能够自动扫描并管理该类
import org.springframework.stereotype.Component;
// 导入 Java 8 引入的日期时间 API 中的 LocalDateTime 类,用于表示日期和时间
import java.time.LocalDateTime;
// 使用 @Component 注解将该类标记为 Spring 组件,这样 Spring 会在启动时自动将其实例化并纳入管理
@Component
// 定义一个名为 AutoFillMetaInfoHandler 的类,该类实现了 MetaObjectHandler 接口,用于处理自动填充元数据信息
public class AutoFillMetaInfoHandler implements MetaObjectHandler {
// 重写 MetaObjectHandler 接口中的 insertFill 方法,该方法在插入数据时自动调用
@Override
public void insertFill(MetaObject metaObject) {
// 调用 MetaObjectHandler 接口提供的 setFieldValByName 方法,为指定字段设置值
// 第一个参数 "createtime" 表示要设置值的字段名
// 第二个参数 LocalDateTime.now() 表示当前的日期和时间,作为要设置的值
// 第三个参数 metaObject 表示要操作的 Java 对象的元数据
this.setFieldValByName("createtime", LocalDateTime.now(),metaObject);
}
// 重写 MetaObjectHandler 接口中的 updateFill 方法,该方法在更新数据时自动调用
@Override
public void updateFill(MetaObject metaObject) {
// 目前该方法为空,你可以根据需求在其中添加更新时自动填充字段的逻辑
}
}