handler 目录处理器类说明
在 src/main/java/work/baiyun/chronicdiseaseapp/handler 目录下包含了项目中的各种处理器类,主要用于处理 MyBatis 的类型映射和实体对象的元数据处理。
CustomMetaObjectHandler.java
用途
CustomMetaObjectHandler 是 MyBatis-Plus 的元对象字段处理器,用于自动填充实体对象中的公共字段,如创建时间和更新时间等。
实现细节
- 实现了 MetaObjectHandler 接口
- 在插入数据时自动填充以下字段:
- createTime:创建时间,填充为当前时间
- updateTime:更新时间,填充为当前时间
- createUser:创建人 ID,如果为空则填充默认值
- updateUser:更新人 ID,如果为空则填充默认值
- 在更新数据时自动填充以下字段:
- updateTime:更新时间,填充为当前时间
- updateUser:更新人 ID,如果为空则填充默认值
- 使用了 Hutool 工具库的 ObjectUtil 来判断字段是否为空
- 使用 @Component 注解注册为 Spring 组件
GenderTypeHandler.java
用途
GenderTypeHandler 是 MyBatis 的类型处理器,用于处理 Gender 枚举类型与数据库字段之间的转换。
实现细节
- 继承 BaseTypeHandler 基类
- 使用 @MappedTypes(Gender.class) 注解标记处理的类型
- 实现了四个抽象方法:
- setNonNullParameter:将 Gender 枚举转换为整数存储到数据库
- getNullableResult:从数据库结果中获取整数值并转换为 Gender 枚举
- Gender 枚举在数据库中以整数形式存储(1=男,2=女)
- 支持从 ResultSet 和 CallableStatement 中读取数据
PermissionGroupTypeHandler.java
用途
PermissionGroupTypeHandler 是 MyBatis 的类型处理器,用于处理 PermissionGroup 枚举类型与数据库字段之间的转换。
实现细节