autogenerator 已被官方弃用,mybatis-plus 3.5.0+ 彻底移除该类,替代方案为 fastautogenerator,需全 java 链式配置并显式启用 swagger 和 xml 生成。

AutoGenerator 已被官方弃用,别再查文档了
MyBatis-Plus 3.5.0+ 版本中,AutoGenerator 类已彻底移除,所有基于它的教程、配置类(比如 StrategyConfig、PackageConfig)全部失效。你运行会直接报 ClassNotFoundException 或编译不通过——不是你配错了,是它没了。
替代方案只有 mybatis-plus-generator 3.5+
新生成器改用模板引擎 + 配置对象驱动,核心是 AutoGenerator 的继任者:FastAutoGenerator。它不依赖 XML,全 Java 链式配置,但默认不生成 Controller,这点很多人踩坑。
- 必须显式调用
.enableSwagger()才能生成带 Swagger 注解的Controller(否则只到Service层) -
Mapper接口默认生成,但Mapper.xml文件需手动开启:加.xmlBuilder()并指定路径 - 包名、模块名、表前缀这些参数现在全在
dataSource()和global()里设,旧版的PackageConfig拆成了packageInfo()一个方法 - MySQL 8+ 要用
com.mysql.cj.jdbc.Driver,驱动没配对会卡在元数据读取,报Communications link failure
一个能跑通的最小生成脚本(含 Controller)
以下代码可直接粘贴进 main 方法执行,生成 Controller→Service→Mapper 全套骨架:
FastAutoGenerator.create("jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=GMT%2B8", "root", "123456")
.globalConfig(builder -> {
builder.author("demo")
.outputDir("src/main/java");
})
.packageConfig(builder -> {
builder.parent("com.example")
.moduleName("system")
.pathInfo(Collections.singletonMap(OutputFile.xml, "src/main/resources/mapper"));
})
.strategyConfig(builder -> {
builder.addInclude("user", "role") // 表名
.entityBuilder().enableLombok()
.controllerBuilder().enableRestStyle().enableSwagger() // 关键:要 Controller 就必须开这两个
.serviceBuilder().formatServiceFileName("%sService")
.mapperBuilder().enableMapperAnnotation().enableBaseResultMap();
})
.templateEngine(new FreemarkerTemplateEngine())
.execute();
注意:FreemarkerTemplateEngine 需额外引入依赖;若用 Velocity 会因版本兼容问题静默失败;enableSwagger() 依赖 springfox-swagger2 或 springdoc-openapi,缺了就不生成注解。
生成后常被忽略的三件事
骨架只是起点,不处理下面这些,项目一启动就报错:
-
Controller里的@Api和@ApiOperation注解来自 Swagger,但 Spring Boot 3.x 默认不兼容springfox,得切到springdoc并加@OpenAPIDefinition -
Mapper接口上没@Mapper注解?要么在启动类加@MapperScan,要么每个接口自己加——后者更可控 - 生成的
xml文件路径写进了resources/mapper,但 Maven 默认不打包该目录下的非.properties/.xml文件,得在pom.xml里补<resources></resources>配置
生成器不会管你的 Spring Boot 版本、Web 容器类型、甚至 JDK 是不是 21,它只负责“按模板吐文件”。剩下的适配,得你自己盯住每层的注解、扫描、路径和依赖版本。










