mybatis-plus的代码生成器使用方法
时间: 2023-09-04 18:15:48 浏览: 130
MyBatis-Plus 的代码生成器是一个非常方便的工具,可以帮助我们快速生成 MyBatis 相关的 DAO、Mapper、Entity、Service、Controller 等代码。具体使用方法如下:
1. 引入 MyBatis-Plus 的代码生成器依赖
在 Maven 中添加以下依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2. 配置代码生成器
在项目的配置文件中,添加 MyBatis-Plus 的代码生成器配置项:
```yaml
mybatis-plus:
# 配置代码生成器
generator:
# 配置数据库相关信息
database:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC
username: root
password: 管理员密码
# 配置全局策略
global-config:
# 是否开启AR模式
active-record: true
# 是否在mapper.xml中生成查询结果Map元素
enable-result-map: true
# 是否在mapper.xml中生成基础列字段元素
enable-column-list: true
# 自定义文件命名,注意 %s 会自动填充表实体属性
entity-name: %sDO
# 配置包信息
package-info:
# 父包名
parent: com.example.mybatisplus.generator
# 实体类包名
entity: entity
# mapper接口层包名
mapper: dao
# service层包名
service: service
# service实现类包名
service-impl: service.impl
# controller包名
controller: controller
```
3. 运行代码生成器
在项目中创建一个 `CodeGenerator` 类,编写如下代码:
```java
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator generator = new AutoGenerator();
generator.setGlobalConfig(config());
generator.setDataSource(dataSourceConfig());
generator.setPackageInfo(packageConfig());
generator.setStrategy(strategyConfig());
generator.setTemplate(templateConfig());
generator.execute();
}
private static GlobalConfig config() {
GlobalConfig config = new GlobalConfig();
// 配置输出目录
config.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
// 是否覆盖已有文件
config.setFileOverride(true);
// 是否开启 Swagger2 注解
config.setSwagger2(true);
// 开启 AR 模式
config.setActiveRecord(true);
// 配置基础表字段生成
config.setBaseColumnList(true);
// 配置通用 Mapper 的 baseResultMap
config.setBaseResultMap(true);
// 配置是否生成 XML 的注释
config.setXmlName("%sMapper");
config.setAuthor("作者名");
config.setOpen(false);
return config;
}
private static DataSourceConfig dataSourceConfig() {
DataSourceConfig config = new DataSourceConfig();
config.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC");
config.setDriverName("com.mysql.jdbc.Driver");
config.setUsername("root");
config.setPassword("管理员密码");
return config;
}
private static PackageConfig packageConfig() {
PackageConfig config = new PackageConfig();
config.setParent("com.example.mybatisplus.generator");
config.setEntity("entity");
config.setMapper("dao");
config.setService("service");
config.setServiceImpl("service.impl");
config.setController("controller");
return config;
}
private static StrategyConfig strategyConfig() {
StrategyConfig config = new StrategyConfig();
// 配置表名的生成策略
config.setNaming(NamingStrategy.underline_to_camel);
config.setColumnNaming(NamingStrategy.underline_to_camel);
// 设置需要生成的表名
config.setInclude("user_info");
// 配置Lombok属性
config.setEntityLombokModel(true);
config.setRestControllerStyle(true);
// 配置是否生成注解@TableField
config.setEntityTableFieldAnnotationEnable(true);
// 配置通用 Mapper
config.setEntityBooleanColumnRemoveIsPrefix(true);
config.setRestControllerStyle(true);
config.setEntitySerialVersionUID(true);
config.setEntityBuilderModel(true);
config.setEntityColumnConstant(true);
return config;
}
private static TemplateConfig templateConfig() {
TemplateConfig config = new TemplateConfig();
// 配置自定义模板,不配置就用默认的
return config;
}
}
```
在 `main` 方法中设置好配置信息,并调用 `execute` 方法执行代码生成器即可。
4. 查看生成的代码
代码生成器会在程序运行的当前目录下生成生成的代码。在 IDEA 中可以通过 `Project` 窗口中的 `src/main/java` 目录打开生成代码目录,可以看到生成的 DAO、Mapper、Entity、Service、Controller 等代码。
阅读全文