# EasyCode逆向工程模板 **Repository Path**: songrenshuo/easy-code-demo ## Basic Information - **Project Name**: EasyCode逆向工程模板 - **Description**: 适用于生成MybatisPlus+Swagger2的java后端项目,除了生成实体类、mapper、mapper.xml、service、controller之外,还包括业务异常类,通用返回实体类,常用配置类,全局异常处理,消息转换映射,甚至包括application.xml,pom,启动类等23项可选组件,并进行了大量兼容性处理,做到零配置,生成既运行。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-06-17 - **Last Updated**: 2025-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EasyCode 逆向工程模板 ## 项目简介 这是一个基于 [EasyCode](https://gitee.com/makejava/EasyCode) 插件的 Java 后端项目模板,专为快速生成 [MyBatis-Plus](https://baomidou.com/) + [Swagger2](https://github.com/springfox/springfox) 项目而设计。它不仅包含了基础的 CRUD 代码生成,还集成了一系列开箱即用的通用组件,旨在提升开发效率和代码质量。 初版灵感源自 [牧蝶人](https://gitee.com/darkblue1d) 的工作,并在此基础上进行了功能增强、兼容性调整和核心代码优化,并添加了详细的注释说明。 ## 技术架构 * **核心框架**: Spring Boot 2.6.3 * **持久层**: MyBatis-Plus 3.5.2 * **分页插件**: PageHelper 1.4.1 (与 MyBatis-Plus 兼容) * **API 文档**: Swagger2 3.0.0 + Swagger Bootstrap UI 1.9.6 * **工具库**: Hutool 5.8.23, Lombok * **数据库**: MySQL * **构建工具**: Maven ## 核心功能组件 * **统一响应**: `R.java` 提供标准化的 API 返回格式。 * **全局异常处理**: `CommonAbnormal.java` 集中处理业务异常、参数校验异常、HTTP 异常等。 * **基础配置**: 包含 MyBatis-Plus、Swagger2 和 Web MVC 的默认配置。 * **分页工具**: `PageUtils.java` 简化分页查询操作。 * **MyBatis-Plus 增强**: `MybatisPlusUtil.java` 提供常用的通用查询和更新方法。 * **日志配置**: 基于 Logback,支持开发/生产环境的日志级别和输出方式配置。 * **JSON 序列化**: `JacksonObjectMapper.java` 提供统一的 JSON 转换配置。 ## 运行环境与插件 * **IDE**: IntelliJ IDEA * **JDK**: 1.8 * **必需插件**: * [EasyCode](https://gitee.com/makejava/EasyCode): 用于代码生成。 * [Lombok](https://projectlombok.org/): 用于简化 Java 代码 (高版本 IDEA 内置)。 ## 快速开始 ### 1. 准备工作 * **安装 IntelliJ IDEA**: 确保已安装 IntelliJ IDEA IDE。 * **安装插件**: 1. 打开 IDEA,进入 `File -> Settings` (Windows/Linux) 或 `IntelliJ IDEA -> Preferences` (Mac)。 2. 选择 `Plugins`。 3. 在 `Marketplace` 中搜索 `EasyCode` 并安装。 4. 同样在 `Marketplace` 中搜索 `Lombok` 并安装 (较新版本 IDEA 可能已内置)。 5. 重启 IDEA 以使插件生效。 ### 2. 导入 EasyCode 模板 1. 打开本项目 `easy-code-demo`。 2. 进入 `File -> Settings -> Other Settings -> EasyCode`。 3. 在 `Template Settings` 区域,点击 `Import` 按钮。 4. 在弹出的文件选择框中,导航至项目目录下的 `EasyCode配置/v10/` 文件夹,选择 `EasyCodeConfig_v10.json` 文件。 5. 在导入确认对话框中,确保 `Cover` (覆盖) 选项被选中,以替换掉默认模板配置。点击 `OK` 完成导入。 6. 确认 `Current Group` 设置为 `MybatisPlus-Swagger2`。 ### 3. 创建 Spring Boot 项目 (如果从零开始) * 如果您是基于本项目 `easy-code-demo` 进行操作,请跳过此步骤。 * 如果您想从头开始创建一个新项目: 1. 在 IDEA 中选择 `File -> New -> Project`。 2. 选择 `Spring Initializr`。 3. 配置项目元数据 (如 Group, Artifact, Type, Language, Packaging, Java Version)。 4. 在 `Dependencies` 中,至少选择 `Spring Web`。 5. 点击 `Next` 并完成项目创建向导。 6. 创建完成后,将本项目中的 `pom.xml` 依赖、`src/main/resources` 下的配置文件 (如 `application.yml`, `application-dev.yml`, `logxml/logback-spring.xml`) 以及 `src/main/java` 下的通用组件 (如 `common`, `config`, `utils` 包) 复制到新项目中。 ### 4. 配置数据库 1. 确保您已安装并运行了 MySQL 数据库 (版本 5.7+)。 2. 在 IDEA 右侧的 `Database` 工具窗口中,点击 `+` -> `Data Source` -> `MySQL`。 3. 填写数据库连接信息: * **Host**: `localhost` * **Port**: `3306` * **Database**: 您要连接的数据库名称 (例如 `rbac`)。 * **User**: 您的数据库用户名 (例如 `root`)。 * **Password**: 您的数据库密码 (例如 `root`)。 4. 点击 `Test Connection` 按钮,确保连接成功。如果提示缺少驱动,点击 `Download` 下载。 5. 点击 `OK` 保存数据源配置。 ### 5. 逆向生成代码 1. 在 `Database` 工具窗口中,展开您的数据库连接,找到需要生成代码的数据表。 2. **按住 `Ctrl` (Windows/Linux) 或 `Cmd` (Mac) 键**,依次点击选中一个或多个数据表。 3. 右键点击选中的表,选择 `EasyCode -> Generate Code`。 4. 在弹出的 `EasyCode Generate` 窗口中: * **Module**: 选择您的项目模块 (例如 `easy-code-demo`)。 * **Package**: 填写您的基础包名 (例如 `cn.song.dasycodedemo`)。 * **Path**: 通常会自动填充项目路径。 * **Template**: 确保选择的是 `MybatisPlus-Swagger2`。 * **Table Prefix**: 如果您的表名有统一前缀 (如 `sys_`),在此处填写,生成的实体类名会自动去除前缀。如果没有前缀则留空。 * **Options**: 建议勾选所有选项 (`Entity`, `Mapper`, `Mapper XML`, `Service`, `ServiceImpl`, `Controller`, `Bean`)。 * **Code Format**: 务必勾选 `Format Code`。 5. 点击 `OK`。IDEA 会根据模板在指定包路径下生成相应的代码文件。 ### 6. 配置数据源 (项目配置) 1. 找到并打开 `src/main/resources/application-dev.yml` 文件。 2. 修改以下 `spring.datasource` 部分的配置,确保与您在第 4 步中配置的数据库信息一致: ```yaml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/your_database_name?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: your_username password: your_password ``` 将 `your_database_name`, `your_username`, `your_password` 替换为实际值。 ### 7. 启动项目 1. 找到项目启动类 `src/main/java/cn/song/dasycodedemo/EasyCodeDemoApplication.java`。 2. 右键点击该文件,选择 `Run 'EasyCodeDemoApplication'`。 3. 等待 IDEA 构建并启动项目。控制台会输出启动日志。 4. 当看到类似 `项目启动成功...` 和 `接口文档访问地址:http://127.0.0.1:8081/doc.html` 的日志时,表示项目已成功启动。 5. 通常,浏览器会自动打开接口文档页面 [http://127.0.0.1:8081/doc.html](http://127.0.0.1:8081/doc.html)。如果没有,请手动在浏览器中访问该地址。 ## 版本更新记录 ### V10 更新内容 1. 全面重构全局异常处理[CommonAbnormal.java](./src/main/java/cn/song/dasycodedemo/exception/CommonAbnormal.java),增强各类异常捕获和处理机制,优化异常信息格式化输出,提升系统健壮性和安全性。 2. 优化[Swagger2Config.java](./src/main/java/cn/song/dasycodedemo/config/Swagger2Config.java)配置,增加运行环境判断,仅在开发环境中启用Swagger,生产环境中自动禁用,提高生产环境安全性。 3. 重写[logback-spring.xml](./src/main/resources/logxml/logback-spring.xml)日志配置,增加traceId跟踪标识,优化各环境日志输出格式和级别控制,提升问题排查效率。 4. 改进[EasyCodeDemoApplication.java](./src/main/java/cn/song/dasycodedemo/EasyCodeDemoApplication.java)启动类,增加运行环境判断,仅在开发环境自动打开接口文档页面,避免生产环境不必要的操作。 5. 调整默认打包模式,由`single-jar-package`改为`separate-jar-lib-package`。 ### V9 更新内容 1. 优化[CommonAbnormal.java](./src/main/java/cn/song/dasycodedemo/exception/CommonAbnormal.java)的异常捕获逻辑,增强异常信息处理,防止过长信息暴露。 2. 修复[pom.xml](./pom.xml)打包配置中的中文识别问题。 3. 调整日志配置,优化开发环境SQL输出。 4. 升级部分依赖版本。 (更多历史版本更新内容请参见原文件[EasyCode配置](EasyCode配置)) ## 注意事项 * 默认关闭 MyBatis-Plus 自动驼峰映射,以兼容混合命名的数据库列。 * 项目依赖详见 [pom.xml](pom.xml)。 ## 参考资料 * [EasyCode 最全模板,逆向工程 - 哔哩哔哩](https://www.bilibili.com/read/cv17724204/)