# TzWorkTool **Repository Path**: y2jie/tz-work-tool ## Basic Information - **Project Name**: TzWorkTool - **Description**: 实体类属性比对工具 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-14 - **Last Updated**: 2025-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于蜂舟实体类属性比对工具 ## 工具说明 因无法打包到本地仓库,请自行复制相关包到对应项目中即可使用。 **使用方式**:复制 `compare` 或 `enhanced` 包到您的项目 `src` 目录下,如:`src/main/java/com/xxx/xxx/util/` --- ## 版本对比 ### 🚀 compare(简化版) **适用场景**:基础比对需求,只对比字段值,无复杂值转换 **核心特性**: - ✅ 自动从 `@BTField` 注解获取字段中文名称 - ✅ 基础属性比对 - ✅ 批量对象比对 - ✅ 字段排除功能 - ✅ 变更检测 **优势**:轻量级、零配置、开箱即用 **详情请查看**:[compare/README.md](./compare-entity/src/main/java/org/example/tool/compare/README.md) --- ### 🔥 enhanced(增强版) **适用场景**:复杂业务场景,需要值转换和格式化 **核心特性**: - ✅ **所有简化版功能** - ✅ 枚举值自动转换(支持 `IDictEnum`) - ✅ 自定义映射格式化 - ✅ 灵活的值格式化器 - ✅ 类型安全的 Function 配置 **优势**:功能丰富、高度可配置、支持复杂业务逻辑 **详情请查看**:[enhanced/README.md](./compare-entity/src/main/java/org/example/tool/enhanced/README.md) --- ## 快速选择指南 | 场景 | 推荐版本 | 理由 | |------|----------|------| | 基础属性比对,生成操作日志 | **compare** | 简单直接,零配置 | | 需要将枚举值转换为中文显示 | **enhanced** | 支持枚举自动转换 | | 字段值需要自定义格式化 | **enhanced** | 支持映射和自定义格式化器 | | 类型安全的配置 | **enhanced** | 使用 Function 方法引用 | | 性能优先,简单场景 | **compare** | 轻量级,无额外开销 | --- ## 使用示例 ### compare(简化版) ```java // 基础比对 List changes = SimpleCompareUtil.compareObjects(oldObj, newObj, Example.class); String log = SimpleCompareUtil.generateChangeLog(changes); ``` ### enhanced(增强版) ```java // 增强比对(支持枚举转换) CompareConfig config = CompareConfig.create() .useEnum(Example::getStatus, StatusEnum.class) .useMap(Example::getType, typeMap); List changes = EnhancedCompareUtil.compare(oldObj, newObj, Example.class, config); ``` --- ## 迁移建议 - **从 compare 迁移到 enhanced**:直接替换工具类,原有功能完全兼容 - **从 enhanced 降级到 compare**:移除枚举和映射相关配置即可 --- **根据您的具体业务需求选择合适的版本,让比对工具更好地为您的项目服务!**