在Java开发中,重复编写基础的CRUD代码往往占据了开发者大量时间。renren-fast代码生成器作为一款高效的逆向工程工具,能够将数据库表结构自动转换为完整的Java代码,大幅提升开发效率。本文将带你从零开始,在IntelliJ IDEA中配置renren-generator,实现从MySQL 8.0数据库到可运行API的一键生成。
在开始之前,请确保你的开发环境满足以下要求:
提示:建议使用与教程相同的版本,避免因版本差异导致配置问题。
renren-generator是开源项目,我们可以直接从码云获取:
bash复制git clone https://gitee.com/renrenio/renren-generator.git
或者直接在IDEA中使用版本控制功能导入项目:
项目结构如下:
code复制renren-generator
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
├── pom.xml
└── README.md
打开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 |
修改src/main/resources/generator.properties文件:
properties复制# 基础配置
mainPath=com.yourcompany
package=com.yourcompany.modules
moduleName=system
author=YourName
email=your.email@example.com
# 表前缀配置
tablePrefix=tb_
在pom.xml中添加MySQL 8.0驱动依赖:
xml复制<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
在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 ''
http://localhost生成的文件结构示例:
code复制main
├── java
│ └── com
│ └── yourcompany
│ └── modules
│ └── system
│ ├── controller
│ ├── dao
│ ├── entity
│ └── service
└── resources
└── mapper
└── system
将生成的代码复制到你的主项目中,确保目录结构一致。然后添加必要的依赖:
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>
创建一个简单的测试Controller:
java复制@RestController
@RequestMapping("/api/test")
public class TestController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<UserEntity> listUsers() {
return userService.list();
}
}
使用Postman测试API:
http://localhost:8080/api/test/usersrenren-generator支持自定义模板,你可以修改src/main/resources/template目录下的模板文件:
Controller.java.vm:控制器模板Entity.java.vm:实体类模板Service.java.vm:服务层模板如果多个模块需要共享某些类,可以创建一个common模块:
your-project-commonxml复制<dependency>
<groupId>com.yourcompany</groupId>
<artifactId>your-project-common</artifactId>
<version>1.0.0</version>
</dependency>
问题现象:启动时报错"Access denied for user..."
解决方案:
问题现象:复制代码后出现大量红色错误
解决方案:
问题现象:访问API接口返回404 Not Found
解决方案:
在实际项目中使用renren-generator时,我发现最耗时的部分往往是后期的微调和优化。建议在生成代码后,花些时间统一代码风格,并根据业务需求添加适当的注释和文档。