mybatis-plus代码生成器
官网:mp代码生成器(新)
1、导入依赖
使用最新版本:3.5.3.1版本,老版本不兼容
<properties>
<mybatis-plus.version>3.5.3.1</mybatis-plus.version>
<freemarker.version>2.3.31</freemarker.version>
</properties>
<!-- mp代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>
2、导入代码生成器类
public static void main(String[] args) {
FastAutoGenerator.create("url",
"username",
"password")
.globalConfig(builder -> {
builder.author("AyoCoo") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
//建议使用绝对路径
.outputDir("E:\\AshoreDrill\\******"+"/src/main/java"); // 指定输出目录
})
.dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
int typeCode = metaInfo.getJdbcType().TYPE_CODE;
if (typeCode == Types.SMALLINT) {
// 自定义类型转换
return DbColumnType.INTEGER;
}
return typeRegistry.getColumnType(metaInfo);
}))
.packageConfig(builder -> {
builder.parent("com.xxx") // 设置父包名
.moduleName("xxx") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\AshoreDrill\\***"+"/src/main/resources/Mapper")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("sys_user") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
结果
不会覆盖自己手动新建的文件,自动跳过去创建新文件