目录
- 一、代码展示
- 二、代码解读
一、代码展示
package com.minster.yanapi.handler;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;import java.util.Date;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {//实现MetaObjectHandler//配置自动填充 拦截器//insert操作时填充方法@Overridepublic void insertFill(MetaObject metaObject) {this.setFieldValByName("createTime", new Date(), metaObject);   //创建时间this.setFieldValByName("updateTime", new Date(), metaObject);   //创建时间this.setFieldValByName("avatar","https://pic4.zhimg.com/v2-53a632ca6e89dcdc31b31b3d193fe55b_r.jpg",metaObject);
//        this.setFieldValByName("status",3,metaObject);}//update操作时填充方法@Overridepublic void updateFill(MetaObject metaObject) { //填充 更新时间this.setFieldValByName("updateTime", new Date(), metaObject);}
}二、代码解读
这段代码是一个 MyBatis-Plus 框架中的自定义元对象处理器(MetaObjectHandler)。主要用于在执行数据库操作时,自动填充一些字段的值,例如创建时间和更新时间。
-  包结构和导入: - com.minster.yanapi.handler是代码所在的包路径。
- com.baomidou.mybatisplus.core.handlers.MetaObjectHandler是 MyBatis-Plus 框架提供的元对象处理器接口。
- org.apache.ibatis.reflection.MetaObject是 MyBatis 框架提供的反射工具类。
- org.springframework.stereotype.Component是 Spring 框架的注解,用于声明该类是一个 Spring 组件。
 
-  类声明: - MyMetaObjectHandler类实现了- MetaObjectHandler接口。
- 使用了 @Component注解,将该类标记为一个 Spring 组件,使其能够被 Spring 容器扫描并进行管理。
 
-  自动填充方法: - insertFill方法用于在执行插入操作时进行自动填充。通过调用- setFieldValByName方法设置字段的值。- createTime字段被填充为当前的日期时间。
- updateTime字段同样被填充为当前的日期时间。
- avatar字段被填充为固定的图片链接。
- 注释中提到的 status字段被注释掉,没有进行填充。
 
- updateFill方法用于在执行更新操作时进行自动填充。只填充了- updateTime字段,将其设置为当前的日期时间。
 
-  总结: - 该类主要通过实现 MyBatis-Plus 的 MetaObjectHandler接口,实现了插入和更新时的自动填充功能,为指定的字段赋予特定的值,简化了数据库操作中的字段填充过程。
- 在 Spring 中通过 @Component注解,将其纳入 Spring 容器进行管理。
 
- 该类主要通过实现 MyBatis-Plus 的