从数据库表到可运行API:手把手教你用IDEA配置renren-fast代码生成器(MySQL 8.0 + MyBatis-Plus)
在Java开发中,重复编写基础的CRUD代码往往占据了开发者大量时间。renren-fast代码生成器作为一款高效的逆向工程工具,能够将数据库表结构自动转换为完整的Java代码,大幅提升开发效率。本文将带你从零开始,在IntelliJ IDEA中配置renren-generator,实现从MySQL 8.0数据库到可运行API的一键生成。
1. 环境准备与项目初始化
1.1 开发环境要求
在开始之前,请确保你的开发环境满足以下要求:
- 操作系统:Windows 10/11或macOS 10.15+
- 开发工具:IntelliJ IDEA 2022.3+
- Java环境:JDK 1.8或11
- 数据库:MySQL 8.0+
- 构建工具:Maven 3.6+
提示:建议使用与教程相同的版本,避免因版本差异导致配置问题。
1.2 获取renren-generator源码
renren-generator是开源项目,我们可以直接从码云获取:
bash复制git clone https://gitee.com/renrenio/renren-generator.git
或者直接在IDEA中使用版本控制功能导入项目:
- 打开IDEA,选择"Get from Version Control"
- 粘贴上述Git仓库地址
- 选择本地存储路径
- 点击"Clone"按钮
项目结构如下:
code复制renren-generator
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
├── pom.xml
└── README.md
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据库与项目配置
2.1 配置MySQL数据源
打开src/main/resources/application.yml文件,修改数据库连接配置:
yaml复制spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: your_username
password: your_password
关键参数说明:
| 参数 | 说明 | 示例值 |
|---|---|---|
| driver-class-name | MySQL驱动类 | com.mysql.cj.jdbc.Driver |
| url | 数据库连接URL | jdbc:mysql://localhost:3306/test_db |
| username | 数据库用户名 | root |
| password | 数据库密码 | 123456 |
2.2 配置代码生成器参数
修改src/main/resources/generator.properties文件:
properties复制# 基础配置
mainPath=com.yourcompany
package=com.yourcompany.modules
moduleName=system
author=YourName
email=your.email@example.com
# 表前缀配置
tablePrefix=tb_
3. 依赖管理与项目启动
3.1 解决MySQL 8.0驱动问题
在pom.xml中添加MySQL 8.0驱动依赖:
xml复制<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
3.2 启动代码生成器服务
在IDEA中直接运行主类RenrenApplication,控制台输出如下表示启动成功:
code复制2023-05-15 14:30:22.123 INFO 12345 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 80 (http) with context path ''
4. 代码生成与API测试
4.1 生成业务模块代码
- 访问
http://localhost - 在界面中选择需要生成代码的数据表
- 点击"生成代码"按钮
生成的文件结构示例:
code复制main
├── java
│ └── com
│ └── yourcompany
│ └── modules
│ └── system
│ ├── controller
│ ├── dao
│ ├── entity
│ └── service
└── resources
└── mapper
└── system
4.2 集成到主项目
将生成的代码复制到你的主项目中,确保目录结构一致。然后添加必要的依赖:
xml复制<!-- MyBatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
4.3 测试生成的API
创建一个简单的测试Controller:
java复制@RestController
@RequestMapping("/api/test")
public class TestController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<UserEntity> listUsers() {
return userService.list();
}
}
使用Postman测试API:
- 发送GET请求到
http://localhost:8080/api/test/users - 检查返回的用户列表数据
5. 高级配置与优化技巧
5.1 自定义模板文件
renren-generator支持自定义模板,你可以修改src/main/resources/template目录下的模板文件:
Controller.java.vm:控制器模板Entity.java.vm:实体类模板Service.java.vm:服务层模板
5.2 处理公共依赖问题
如果多个模块需要共享某些类,可以创建一个common模块:
- 新建maven模块
your-project-common - 将公共类移动到该模块
- 在其他模块中引用:
xml复制<dependency>
<groupId>com.yourcompany</groupId>
<artifactId>your-project-common</artifactId>
<version>1.0.0</version>
</dependency>
5.3 性能优化建议
- 对于大表,可以在生成配置中排除不必要的字段
- 生成的Service层可以添加缓存注解
- 考虑使用DTO进行数据传输,而非直接使用Entity
6. 常见问题解决方案
6.1 连接数据库失败
问题现象:启动时报错"Access denied for user..."
解决方案:
- 检查application.yml中的用户名密码
- 确认MySQL服务已启动
- 检查数据库权限设置
6.2 生成的代码编译错误
问题现象:复制代码后出现大量红色错误
解决方案:
- 确保所有依赖已正确添加
- 检查包路径是否一致
- 确认Lombok插件已安装并启用
6.3 API返回404
问题现象:访问API接口返回404 Not Found
解决方案:
- 检查Controller是否添加了@RestController注解
- 确认请求路径是否正确
- 检查Spring Boot的包扫描配置
在实际项目中使用renren-generator时,我发现最耗时的部分往往是后期的微调和优化。建议在生成代码后,花些时间统一代码风格,并根据业务需求添加适当的注释和文档。
