mybatis-plus 3 的自动生成
时间: 2025-05-09 22:04:39 浏览: 18
### MyBatis-Plus 3 自动生成功能及用法
MyBatis-Plus 是一款增强型的 MyBatis 框架,提供了许多便捷的功能,其中包括代码自动生成工具。通过该功能,开发者能够快速生成实体类、Mapper 接口、Service 层及其实现类以及其他相关组件,从而显著提升开发效率。
#### 添加依赖
为了使用 MyBatis-Plus 的代码生成器,首先需要在项目的 `pom.xml` 文件中引入必要的依赖项:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.x.x</version> <!-- 替换为最新版本 -->
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version> <!-- 或其他兼容版本 -->
</dependency>
```
上述配置中的 `mybatis-plus-generator` 是用于代码生成的核心模块,而 `freemarker` 则作为模板引擎支持生成代码文件[^1]。
#### 配置代码生成器
以下是基于 MyBatis-Plus 3 的代码生成器的一个典型配置示例:
```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("Your Name"); // 设置作者名
gc.setOpen(false); // 是否打开输出目录
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("password");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.demo"); // 父包名
pc.setModuleName(null); // 模块名
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("table_name"); // 表名集合
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();
}
}
```
此代码片段展示了如何设置全局参数、数据源连接信息、包路径以及表策略等内容。其中,`setInclude()` 方法指定了要生成代码的目标数据库表名称;`setNaming()` 和 `setColumnNaming()` 定义了字段命名规则,通常采用下划线转驼峰的方式[^2]。
#### 功能扩展
除了基本的 CRUD 生成功能外,MyBatis-Plus 还允许用户定义额外的方法或属性。例如,在生成模型时可自动添加 Getter/Setters、toString() 方法等辅助逻辑:
```java
strategy.setSuperEntityColumns("id", "create_time", "update_time"); // 继承父类通用字段
strategy.setControllerMappingHyphenStyle(true); // URL 中驼峰转连字符风格
```
这些选项进一步增强了框架灵活性并满足不同场景需求[^3]。
---
阅读全文
相关推荐

















