MyBatis-Plus 3.5.12 代码生成
时间: 2025-07-08 20:39:10 浏览: 2
### 配置与使用 MyBatis-Plus 3.5.12 的代码生成器
MyBatis-Plus 提供了强大的代码生成工具 AutoGenerator,可以快速生成基于数据库表结构的 Entity、Mapper、Service、Controller 等代码文件。以下是针对 **MyBatis-Plus 3.5.12** 的配置和使用方法。
---
#### 添加依赖
在 `pom.xml` 中添加以下依赖以启用 MyBatis-Plus 代码生成器:
```xml
<!-- MyBatis-Plus 代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.12</version>
</dependency>
<!-- Freemarker 模板引擎 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.33</version>
</dependency>
```
如果你计划使用其他模板引擎(如 Velocity 或 Beetl),可以根据需要替换对应的依赖。
---
#### 创建代码生成器类
在测试包中创建一个 Java 类用于执行代码生成操作。以下是一个完整的示例配置类:
```java
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
public class CodeGenerator {
@org.junit.Test
public void generateCode() {
String url = "jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
String username = "root";
String password = "root";
FastAutoGenerator.create(url, username, password)
.globalConfig(builder -> {
builder.author("YourName") // 设置作者
.fileOverride() // 覆盖已生成的文件
.outputDir(System.getProperty("user.dir") + "/src/main/java"); // 输出目录
})
.packageConfig(builder -> {
builder.parent("com.example.demo") // 设置父包名
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper")); // Mapper XML 输出路径
})
.strategyConfig(builder -> {
builder.addInclude("user", "role", "permission") // 设置需要生成的表名
.addTablePrefix("t_", "sys_"); // 过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用 Freemarker 引擎
.execute();
}
}
```
---
#### 配置说明
1. **全局配置 (`globalConfig`)**:
- `author`: 设置生成代码的作者名称。
- `fileOverride`: 是否覆盖已有生成文件。
- `outputDir`: Java 文件输出路径。
2. **包配置 (`packageConfig`)**:
- `parent`: 设置生成代码的父包名。
- `pathInfo`: 设置 XML 文件的输出路径。
3. **策略配置 (`strategyConfig`)**:
- `addInclude`: 指定需要生成代码的数据表。
- `addTablePrefix`: 忽略数据表中的某些前缀。
4. **模板引擎 (`templateEngine`)**:
- 默认使用 Freemarker,也可以切换为 Velocity 或 Beetl。
---
#### 自定义输出路径
如果需要自定义 XML 文件的输出路径,可以在 `packageConfig` 中添加如下代码:
```java
.pathInfo(Collections.singletonMap(OutputFile.xml, "C:/your/path/to/mapper"))
```
---
#### 启动代码生成
运行 `generateCode()` 方法后,系统将根据数据库表结构生成对应的实体类、Mapper、Service、Controller 等代码,并将其保存到指定的目录中。
---
#### 注意事项
- 数据库连接信息(URL、用户名、密码)需要根据实际环境进行修改。
- 若项目中有多个模块,需确保 `outputDir` 和 `pathInfo` 指向正确的模块路径。
- 如果使用 Spring Boot,建议通过 `@MapperScan` 注解扫描 Mapper 接口[^3]。
---
阅读全文
相关推荐

















