mybatisplus代码自动生成器配置
时间: 2025-06-02 14:21:03 浏览: 11
### MyBatis-Plus 代码生成器配置教程
MyBatis-Plus 提供了一个强大的工具——`AutoGenerator`,用于快速生成实体类(Entity)、Mapper 接口、Mapper XML 文件、Service 层接口及其实现以及 Controller 类等模块的代码。以下是关于如何配置 `AutoGenerator` 的详细说明。
#### 1. 添加 Maven 或 Gradle 依赖
为了使用 MyBatis-Plus 的代码生成器功能,首先需要在项目的构建文件中引入相应的依赖项[^2]:
对于 Maven 用户:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>最新版本号</version>
</dependency>
<!-- freemarker 模板引擎 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
```
对于 Gradle 用户:
```gradle
implementation 'com.baomidou:mybatis-plus-generator:最新版本号'
// freemarker 模板引擎
implementation 'org.freemarker:freemarker:2.3.31'
```
#### 2. 创建 AutoGenerator 实例并设置全局配置
创建一个 Java 主程序或测试类,初始化 `AutoGenerator` 并完成基本配置。以下是一个完整的示例代码片段[^1]:
```java
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
public class CodeGenerator {
public static void main(String[] args) {
// 初始化代码生成器对象
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java"); // 输出目录
gc.setAuthor("作者名"); // 设置作者名称
gc.setOpen(false); // 是否打开输出目录
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("用户名");
dsc.setPassword("密码");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.project") // 父包名
.setModuleName(null); // 不指定模块名
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("表名1", "表名2"); // 需要生成的表名列表
strategy.setNaming(com.baomidou.mybatisplus.generator.config.rules.NamingStrategy.underline_to_camel);
strategy.setColumnNaming(com.baomidou.mybatisplus.generator.config.rules.NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true); // 使用 Lombok 注解简化实体类
mpg.setStrategy(strategy);
// 执行生成操作
mpg.execute();
}
}
```
#### 3. 自定义模板与扩展
如果默认模板无法完全满足需求,则可以通过自定义模板进一步增强灵活性。例如,在生成文件前执行某些预处理逻辑,或者替换内置模板为自定义模板文件[^3]。
#### 4. 常见策略配置详解
`StrategyConfig` 是核心部分之一,它决定了生成代码的具体行为。常见的配置选项包括但不限于:
- **命名转换**:支持下划线转驼峰命名法。
- **字段填充机制**:自动注入公共字段值(如创建时间、更新时间)。
- **树形结构支持**:针对具有父子关系的数据设计专用方法。
- **乐观锁控制**:启用基于版本号的并发冲突检测[^4]。
---
### 总结
通过合理利用 MyBatis-Plus 提供的 `AutoGenerator` 工具,可以显著减少手动编写重复性代码的工作量,从而专注于业务逻辑开发。同时,借助丰富的可选参数和插件体系,该工具也具备高度的适配能力以应对复杂场景下的个性化需求。
阅读全文
相关推荐


















