# CodeGenX **Repository Path**: mcxia/CodeGenX ## Basic Information - **Project Name**: CodeGenX - **Description**: 内核版本 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-11 - **Last Updated**: 2026-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 代码生成器 v2.0 使用说明 ## 简介 代码生成器 v2.0 是一个基于 JavaFX 开发的可视化代码生成工具,支持根据业务配置自动生成 Entity、DTO、VO、Mapper、Service、Controller 等代码文件。 ## 功能特性 ### 1. 基本配置 - **业务名称**:实体类名称(首字母大写),如 User、Order - **包名**:Java 包名,如 com.example - **表名**:数据库表名,默认为业务名称小写 - **输出目录**:生成代码的输出目录,默认为 generated ### 2. 字段管理 - **添加字段**:输入字段名、选择类型、填写注释、选择是否必填 - **编辑字段**:点击表格中的"编辑"按钮修改字段信息 - **删除字段**:点击表格中的"删除"按钮移除字段 - **字段排序**:使用"↑"和"↓"按钮调整字段顺序 - **字段验证**:自动验证字段名格式(小写字母开头,只包含字母、数字、下划线) ### 3. 常用字段模板 提供 8 个常用字段模板,一键添加: - `id` - 主键ID (Long, 必填) - `createTime` - 创建时间 (LocalDateTime) - `updateTime` - 更新时间 (LocalDateTime) - `createBy` - 创建人 (String) - `updateBy` - 更新人 (String) - `deleted` - 删除标记 (Integer) - `status` - 状态 (Integer) - `remark` - 备注 (String) ### 4. 支持的数据类型 - String - 字符串 - Integer - 整数 - Long - 长整数 - BigDecimal - 高精度小数 - Double - 双精度浮点数 - Float - 单精度浮点数 - Date - 日期 - LocalDateTime - 日期时间 - LocalDate - 日期 - LocalTime - 时间 - Boolean - 布尔值 - byte[] - 字节数组 ### 5. 模板选择 支持以下代码模板: - entity.ftl - 实体类 - dto.ftl - 数据传输对象 - vo.ftl - 视图对象 - mapper.ftl - Mapper 接口 - mapper_xml.ftl - Mapper XML - service.ftl - Service 接口 - service_impl.ftl - Service 实现 - controller.ftl - Controller 类 ### 6. 配置管理 - **保存配置**:将当前配置保存到文件(带时间戳) - 文件名格式:`config_YYYY-MM-DD_HH-mm-ss.txt` - 包含所有配置信息和字段数据 - **加载配置**:从 `config.txt` 文件加载配置 - 自动填充所有输入框 - 自动添加所有字段 - 自动选择模板 ### 7. 字段导入/导出 - **导出字段**:将当前所有字段导出到文件 - 文件名格式:`fields_export_YYYYMMDD_HHmmss.txt` - 格式:`字段名:类型:注释:是否必填` - **导入字段**:从 `fields_import.txt` 文件批量导入字段 - 自动验证字段格式 - 显示导入数量 ### 8. 历史记录 - 自动记录每次代码生成操作 - 显示生成时间、包名、业务名、字段数、模板数 - 支持清空历史记录 ## 快捷键 | 快捷键 | 功能 | |--------|------| | Enter (字段名输入框) | 添加/保存字段 | | Enter (注释输入框) | 添加/保存字段 | ## 使用步骤 ### 方式一:手动配置 1. **填写基本信息** - 输入业务名称(如:User) - 输入包名(如:com.example) - 输入表名(如:user) - 输入输出目录(如:generated) 2. **添加字段** - 在字段名输入框输入字段名(如:username) - 从下拉框选择字段类型(如:String) - 输入字段注释(如:用户名) - 勾选是否必填 - 点击"添加/保存"按钮或按 Enter 键 3. **使用常用字段** - 点击常用字段按钮快速添加标准字段 - 如:id、createTime、updateTime 等 4. **调整字段顺序** - 点击表格中的"↑"按钮上移字段 - 点击表格中的"↓"按钮下移字段 5. **选择模板** - 勾选需要生成的模板 - 使用"全选"或"全不选"快速操作 6. **生成代码** - 点击"生成代码"按钮 - 等待生成完成 - 在输出区域查看生成结果 ### 方式二:加载配置 1. 准备配置文件 `config.txt`,格式如下: ``` businessName=User packageName=com.example tableName=user outputDir=generated templates=entity.ftl,dto.ftl,vo.ftl [fields] username:String:用户名:true password:String:密码:true age:Integer:年龄:false ``` 2. 点击"加载配置"按钮 3. 系统自动加载所有配置 4. 点击"生成代码"按钮 ### 方式三:导入字段 1. 准备字段文件 `fields_import.txt`,格式如下: ``` username:String:用户名:true password:String:密码:true age:Integer:年龄:false ``` 2. 点击"导入字段"按钮 3. 系统自动导入所有字段 4. 填写其他配置信息 5. 点击"生成代码"按钮 ## 配置文件格式 ### 配置文件 (config.txt) ``` businessName=业务名称 packageName=包名 tableName=表名 outputDir=输出目录 templates=模板1,模板2,模板3 [fields] 字段名1:类型1:注释1:是否必填1 字段名2:类型2:注释2:是否必填2 ``` ### 字段导入文件 (fields_import.txt) ``` 字段名1:类型1:注释1:是否必填1 字段名2:类型2:注释2:是否必填2 字段名3:类型3:注释3:是否必填3 ``` ## 字段命名规则 - 字段名必须以小写字母开头 - 只能包含字母、数字、下划线 - 不能使用 Java 关键字 - 推荐使用驼峰命名法 ## 输出目录结构 生成的代码文件将按照以下结构组织: ``` generated/ ├── entity/ │ └── User.java ├── dto/ │ └── UserDTO.java ├── vo/ │ └── UserVO.java ├── mapper/ │ ├── UserMapper.java │ └── UserMapper.xml ├── service/ │ ├── IUserService.java │ └── impl/ │ └── UserServiceImpl.java └── controller/ └── UserController.java ``` ## 界面说明 ### 顶部区域 - 标题:代码生成器 v2.0 - 基本信息输入框:业务名称、包名、表名、输出目录 ### 字段信息区域 - 字段输入框:字段名、类型、注释、必填 - 常用字段按钮:快速添加常用字段 - 字段表格:显示已添加的字段及操作按钮 ### 模板选择区域 - 模板复选框:选择需要生成的模板 - 全选/全不选按钮:快速选择模板 ### 操作按钮区域 - 生成代码:开始生成代码文件 - 清空所有:清空所有输入和字段 - 保存配置:保存当前配置到文件 - 加载配置:从文件加载配置 - 历史记录:查看生成历史 - 清空历史:清空历史记录 ### 输出区域 - 黑色背景、绿色文字的终端风格输出 - 显示操作日志和生成结果 ## 注意事项 1. **字段验证**:字段名必须符合命名规则,否则无法添加 2. **必填字段**:主键 ID 等关键字段建议设置为必填 3. **类型选择**:根据实际业务需求选择合适的数据类型 4. **配置备份**:建议定期保存配置,方便下次使用 5. **输出目录**:确保输出目录有写入权限 6. **模板选择**:根据项目需求选择合适的模板 7. **历史记录**:历史记录保存在 `generator_history.txt` 文件中 ## 常见问题 ### Q: 如何修改已添加的字段? A: 点击表格中的"编辑"按钮,字段信息会加载到输入框,修改后点击"添加/保存"按钮。 ### Q: 如何调整字段顺序? A: 使用表格中的"↑"和"↓"按钮调整字段顺序。 ### Q: 如何快速添加标准字段? A: 点击常用字段按钮(如 id、createTime 等)即可快速添加。 ### Q: 生成的代码在哪里? A: 生成的代码保存在配置的输出目录中,默认为 `generated` 目录。 ### Q: 如何备份当前配置? A: 点击"保存配置"按钮,配置会保存到带时间戳的文件中。 ### Q: 如何恢复之前的配置? A: 将配置文件重命名为 `config.txt`,然后点击"加载配置"按钮。 ### Q: 支持哪些数据类型? A: 支持 String、Integer、Long、BigDecimal、Double、Float、Date、LocalDateTime、LocalDate、LocalTime、Boolean、byte[] 等类型。 ### Q: 如何清空所有输入? A: 点击"清空所有"按钮,会清空所有输入框、字段和模板选择。 ## 系统要求 - Java 8 或更高版本 - JavaFX(JDK 8 自带) - 磁盘空间:至少 10MB ## 运行方式 ### Windows 双击 `run-javafx.bat` 文件启动应用 ### 命令行 ```bash java -cp target/classes;lib/freemarker-2.3.34.jar com.code.CodeGeneratorApp ``` ## 更新日志 ### v2.0 - 新增常用字段模板功能 - 新增字段编辑功能 - 新增字段排序功能(上移/下移) - 新增配置保存/加载功能 - 新增字段导入/导出功能 - 新增键盘快捷键支持 - 优化界面样式,采用现代化设计 - 增强历史记录功能 - 修复 FXML 兼容性问题 ## 技术支持 如有问题或建议,请联系开发团队。 ## 许可证 本软件仅供学习和个人使用。