mybatis-plus新版本代码生成器使用方法地址
mybatis-plus新版代码生成器配置选项说明地址
请看完背景后考虑是否使用你的情况在考虑是否看完本篇博文吧!
背景说明:
- 表已经创建完成了,根据数据表反向创建数据库对象,以及生成controller,service,实体对象,mapper等文件。
添加依赖
MyBatis-Plus 从 3.0.3 之后移除了代码生成器与模板引擎的默认依赖,需要手动添加相关依赖:
代码生成器的依赖
<!--mybatis-plus代码生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
模板引擎依赖
mybatis-plus网站提供了很多的模板引擎,这里选择默认的模板引擎
<!--mybatis-plus生成器模板引擎依赖-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
引入swagger依赖(可选)
只是我生成的时候用到了,所以加上,没有用的可以不添加
<!--swagger 接口文档生成工具 依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
代码生成
配置结束之后当然就是代码生成了
在项目下随便一个位置,新建一个代码生成器的类,名字可以随意,我这里叫做 CodeGenerator
,直接放在了 Java下
代码如下:
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import java.util.Collections;
// 演示例子,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中
public class CodeGenerator {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/secound_hand_book", // 这里的路径需要换成你的数据库路径
"root",
"123456")
.globalConfig(builder -> {
builder.author("YangYingQi") // 设置作者
.enableSwagger() // 开启 swagger 模式。如果开启,需要导入 swagger 的pom依赖
.fileOverride() // 覆盖已生成文件
//这里需要换成你的路径
.outputDir("D:\\projects\\secound-hand-book\\src\\main\\java\\"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.graduation.second.hand.book") // 设置父包名
.moduleName("system") // 设置父包模块名,也就是最下一层的文件夹名称,他下边就是 controller,service这些目录了
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,
"D:\\projects\\secound-hand-book\\src\\main\\resources\\" +
"com\\graduation\\second\\hand\\book\\mapper")); // 设置mapperXml生成路径,这里也需要换成你的路径
})
.strategyConfig(builder -> {
builder
// addInclude 和 addExclude 只能使用一个
.addInclude("b_order_status", "e_user_address") // 设置需要生成的表名,如果生成全部,可以使用"all"
// .addExclude("m_goods_book", "b_order_status", "e_user_address") // 设置要排除的表名
.addTablePrefix("b_", "t_", "e_") // 设置过滤表前缀,也就是生成的类名会去掉这个前缀
// .addTableSuffix("s") // 设置过滤表后缀,也就是生成的类名会去掉这个后缀
;
})
.execute();
}
}
其中的路径之类的东西丢需要换成你自己要使用的路径。注意进行替换。
然后点击运行即可,生成成功之后,会自动打开生成的路径的文件夹。
这里只是进行了简单的生成,不过对我来说已经够用了,如果想要更多的个性化的一些配置,请参考代码生成器的配置选项
然后就是,这个生成器生成的代码,只是针对单表的增删改查,如果涉及到多表查询,还是需要自己手动去进行补充的。切记切记。