1.踩过的坑
1.MybatisPlus 要与其代码生成器的版本一致;
2.要使用新版代码(3.5.1及以上)生成器则要使用springboot3,如果用springboot2使用新版代码生成器会导致builder.parent(“com.sdfsf”) // 设置父包名====》重复!!强迫症不能接受一点
2.需要引入以下依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>
<!--模板引擎-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3</version>
</dependency>
3.springboot3使用新版代码生成器
FastAutoGenerator.create("jdbc:mysql://localhost:3306/spring?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8",
"root", "123456")
//全局配置(GlobalConfig)
.globalConfig(builder -> {
builder.author("KUNT") // 作者
//.enableSwagger() // 开启 swagger 模式,这个是接口文档生成器,如果开启的话,就还需要导入swagger依赖
//.fileOverride() // 覆盖已生成文件
.dateType(DateType.TIME_PACK) //时间策略
.commentDate("yyyy-MM-dd") //注释日期
.outputDir("D:\\javacode\\sdfsf\\src\\main\\java"); // 指定输出目录
})
//包配置(PackageConfig)
.packageConfig(builder -> {
builder.parent("com.sdfsf") // 设置父包名
.pathInfo(Collections.singletonMap(OutputFile.mapper.xml, "D:\\javacode\\sdfsf\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
})
//策略配置(StrategyConfig)
.strategyConfig(builder -> {
builder.addInclude("sys_user")// 设置需要生成的表名
.addInclude("sys_role");
builder.serviceBuilder()
.formatServiceFileName("%sService") //设置service的命名策略,没有这个配置的话,生成的service和serviceImpl类前面会有一个I,比如IUserService和IUserServiceImpl
.formatServiceImplFileName("%sServiceImpl"); //设置serviceImpl的命名策略
builder.controllerBuilder()
.enableRestStyle(); // 开启生成@RestController注解,
builder.mapperBuilder()
.enableMapperAnnotation() ;//开启 @Mapper注解
})
.templateEngine(new VelocityTemplateEngine())
.execute(); //执行以上配置