# mole-codegen **Repository Path**: mole-platform/mole-codegen ## Basic Information - **Project Name**: mole-codegen - **Description**: 代码生成器 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-15 - **Last Updated**: 2026-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Mole Codegen - 代码生成器 Mole Codegen 是一个基于 MyBatis-Plus Generator 构建的代码生成工具,提供 Spring Boot 应用程序,用于从数据库架构生成与 MyBatis-Plus 兼容的代码(实体类、Mapper、Service、Controller 和 XML 文件)。 **重要特性**:生成的代码可以直接拷贝到以 Mole 为基础依赖的系统中,显著加快系统功能开发速度。 ## 功能特性 - 🚀 自动从数据库表生成完整的代码结构 - 🎯 支持多种数据库(MySQL、PostgreSQL、Oracle 等) - 📦 生成 MyBatis-Plus 兼容的实体类、Mapper、Service 和 Controller - 🎨 提供自定义的 Freemarker 模板 - 🔧 支持 Lombok 注解 - 📚 集成 Swagger 文档支持 - ⚡ 支持自动字段填充(创建时间、更新时间等) - 🔄 版本控制支持(乐观锁) ## 技术栈 - **Java 8+** - **Spring Boot 2.x** - **MyBatis-Plus 3.5.1** - **Freemarker/Velocity/Beetl 模板引擎** - **Lombok** - **Hutool 工具库** ## 快速开始 ### 1. 配置数据库连接 编辑 `src/main/resources/application.yml` 文件,配置数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database username: your_username password: your_password driver-class-name: com.mysql.cj.jdbc.Driver codegen: author: Your Name package-name: com.example.project includes: table1,table2,table3 id-type: AUTO ``` ### 2. 编译和运行 ```bash # 编译项目 mvn clean compile # 运行应用程序(自动生成代码) mvn spring-boot:run ``` ### 3. 查看生成的代码 生成的代码将输出到以下目录: - **Java 文件**: `generator-out/java/` - **XML 文件**: `generator-out/resources/mapper/` ## 配置说明 ### CodegenProperties 配置项 | 配置项 | 描述 | 默认值 | |--------|------|--------| | `author` | 作者名称 | - | | `package-name` | 基础包名 | - | | `includes` | 需要生成的表名(逗号分隔) | - | | `id-type` | 主键类型 | AUTO | ### 支持的主键类型 - `AUTO`: 自动增长 - `INPUT`: 手动输入 - `ID_WORKER`: 雪花算法 - `UUID`: UUID - `NONE`: 无主键 ## 项目结构 ``` /src/ ├── main/ │ ├── java/ │ │ ├── com/baomidou/mybatisplus/generator/ │ │ │ ├── config/ - 配置类 │ │ │ ├── config/builder/ - 配置构建器 │ │ │ ├── config/converts/ - 数据库类型转换器 │ │ │ ├── config/querys/ - 数据库查询实现 │ │ │ ├── config/rules/ - 命名和规则 │ │ │ ├── engine/ - 模板引擎 │ │ │ └── ... │ │ └── com/platform/mole/ │ │ ├── CodegenApplication.java - Spring Boot 入口 │ │ ├── CodegenProperties.java - 代码生成配置 │ │ └── Generator.java - 代码生成执行器 │ └── resources/ │ ├── application.yml - Spring Boot 配置 │ └── templates-mybatis/ - Freemarker 模板 └── test/ └── ... ``` ## 使用方法 ### 1. 修改生成模板 编辑 `src/main/resources/templates-mybatis/` 目录下的 Freemarker 模板文件,自定义生成的代码格式。 ### 2. 调整生成策略 修改 `src/main/java/com/platform/mole/Generator.java` 中的代码生成配置,例如: ```java // 示例:修改实体类生成策略 .entityBuilder() .idType(codegenProperties.getIdType()) .enableLombok() .addTableFills(...) .versionColumnName("revision") .enableTableFieldAnnotation(); ``` ## 自定义模板 项目提供了以下模板: - `entity.java`: 实体类模板 - `service.java`: Service 接口模板 - `serviceImpl.java`: Service 实现类模板 - `mapper.java`: Mapper 接口模板 - `controller.java`: Controller 模板 - `mapper.xml`: Mapper XML 模板 ## 许可证 本项目采用 Apache License 2.0 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。