Mybatis Plus 代码生成器(图文讲解)
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/
截止目前, 星球 内专栏累计输出 66w+ 字,讲解图 2896+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2300+ 小伙伴加入学习 ,欢迎点击围观
前言
大家好,我是小哈。
本小节中,我们将学习如何使用 Mybatis Plus 的代码生成器。可能有效小伙伴会疑惑,这玩意是干嘛使的?
通常在实际项目开发中,如果开发一个功能,我们会先进行表设计,技术方案的确定,技术经理评估 OK 以后,才会进行项目开发,而不是一上来就写代码,跟无头苍蝇一样。
等表设计确立以后,就可以用到本文要讲的代码生成器了,它能根据表自动生成实体类、 Controler
类、Service
类、Mapper
接口等模板代码,偷懒工具无疑了。
接下来,我们看看要怎么使用它。
添加依赖
首先,添加代码生成器的 Maven 依赖以及 Freemarker
视图引擎依赖,注意,代码生成器版本必须是 3.5.1
及其以上版本,此文示例代码对历史版本不兼容!
<!-- 代码生成器依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<!-- 视图引擎 Freemarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
如何使用?
添加完依赖后,新建一个单元测试类, 并添加如下测试方法:
@Test
void testGenerator() {
FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8", "root", "123456") // 数据库连接、用户名、密码
.globalConfig(builder -> {
builder.author("犬小哈") // 设置作者
// .enableSwagger() // 开启 swagger 模式,会自动添加 Swagger 相关注解
.fileOverride() // 覆盖已生成文件
.outputDir("D://"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.quanxiaoha.mybatisplusdemo") // 设置父包名
// .moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "D://")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("t_user") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
每个方法的作用都有相应的注释说明,这里主要说下 moduleName()
这个方法,其作用用于设置父包的模块名,小哈上面注释掉了,如果不注释,会在 com.quanxiaoha.mybatisplusdemo
包下新生成一个名为 system
的包:
看看效果
执行上面的单元测试,会自动在 D
盘下生成好实体类文件、Controller
文件、Service
类文件、mapper
文件、xml
文件等:
点击进入文件夹,内容如下:
结语
本文中,我们学习了如何使用 Mybatis Plus 代码生成器生成常用的模板代码,从而提升开发效率,希望对小伙伴们有所帮助。