Mybatis-plus generator在3.5版本之后,发生了很大的变化。目前网上的文章大多是针对之前的版本,新版的使用说明相对较少,最近在工作中的使用情况记录一下,提供一种思路。
引入POM文件
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>3.5.0</version>
<scope>compile</scope>
</dependency>
3.5版本中大量使用了build的设计模式,所有配置的创建都需要推过builder进行构建。在新版本中代码的生成策略也有很大的变化,使用起来更加方便了,可以指定生成代码的后缀,给生成类添加相应的注解。
public static void main(String[] args) {
//当前项目路径
String projectPath = System.getProperty("user.dir");
// 数据源
DataSourceConfig dataSourceConfig = configDataSource();
// 代码生成器
AutoGenerator generator = new AutoGenerator(dataSourceConfig);
// 全局配置
GlobalConfig globalConfig = configGlobal(projectPath);
generator.global(globalConfig);
StrategyConfig strategyConfig = new StrategyConfig.Builder()
.entityBuilder()
.formatFileName("%sEntity")//添加后缀
.enableLombok()//添加lombock的getter、setter注解
.mapperBuilder()//mapper类添加@Mapper
.enableMapperAnnotation()
.build();
generator.strategy(strategyConfig);
// package config
PackageConfig pkgConfig = new PackageConfig.Builder()
.parent("com.sftz")
.moduleName("gen")
.entity("entity")
.service("service")
.serviceImpl("service.impl")
.mapper("mapper")
.xml("mapper.xml")
.controller("controller")
.other("other")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "E:\\work-shop\\workspace-sftz\\mysql-entity-gen\\src\\main\\resources\\mapper"))
.build();
generator.packageInfo(pkgConfig) ;
generator.execute();
}