MybatisPlus旧版本的代码生成器官方新版已经不在维护了. 并在新版中,将内部的构造方法改成了private, 导致新版本的myabtis-plus无法使用旧版本的代码生成器.下列配置是新版本的代码生成配置
- 添加依赖
<!-- 代码自动生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
- 添加快速生成代码
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.sql.Types;
import java.util.Collections;
public class Generate {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=UTF-8",
"root",
"123456")
.globalConfig(builder -> {
builder
// .author("wang") // 设置作者
// .enableSwagger() // 开启 swagger 模式
// .fileOverride() // 覆盖已生成文件
.outputDir("E:\\login-boot\\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.itszt.loginboot") // 设置父包名
// .moduleName("test") // 设置父包模块名
.entity("pojo") //设置entity包名
.mapper("mapper") //设置mapper包名
.service("service") // 设置service包名
.controller("controller")
.serviceImpl("service.impl")
.pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\login-boot\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("user"); // 设置需要生成的表名
// .addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
标签:代码生成,MybatisPlus,generator,逆向,builder,baomidou,设置,import,com
From: https://blog.csdn.net/w14644/article/details/136762858