写在前面:
最近有一个想法,做一个程序员师徒系统。因为在大学期间的我在学习java的时候非常地迷茫,找不到自己的方向,也没有一个社会上有经验的前辈去指导,所以走了很多的弯路。后来工作了,想把自己的避坑经验分享给别人,但是发现身边都是有经验的开发者,也没有机会去分享自己的想法,所以富贵同学就想做一个程序员专属的师徒系统,秉承着徒弟能够有人指教少走弯路,师傅能桃李满天下的目的,所以开始做这个师徒系统,也会同步更新该系统所用到的技术,并且作为教程分享给大家,希望大家能够关注一波。
好的,接下来给大家讲一讲改系统中自动生成代码用到的技术:MybatisPlus,用SpringBoot整合MybatisPlus。
这个框架是中国人写的哈,所以他的文档也就通俗易懂,首先贴一波他的官方文档:
官方文档
很多东西上面已经讲的很详细了,如果有不懂的小伙伴在评论区留言,后面会考虑出一期MybatisPlus的教程,今天我们来讲一下MybatisPlus里面的一个小功能:快速生成代码。
同样贴一波地址快速生成代码文档
在这个文档里我们可以看到快速生成的例子:
FastAutoGenerator.create("url", "username", "password")
.globalConfig(builder -> {
builder.author("baomidou") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("D://"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名
.moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("t_simple") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
下面富贵同学就来给大家讲解一下这个小东东:
第一步:导入jar包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
第二步,在test类里面添加以下代码:
FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/apprentice?serverTimezone=PRC", "root", "123456")
.globalConfig(builder -> {
builder.author("masiyi") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.disableOpenDir()//不打开目录
.commentDate("yyyy-MM-dd")//注释时间
.outputDir("E:\\msyWorkspace\\Programmer-Apprentice\\apprentice\\src\\main\\java"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.wangfugui") // 设置父包名
.moduleName("apprentice") // 设置父包模块名
.entity("dao.domain")//实体类包
.service("service")//service包
.serviceImpl("service.impl")//实现类bao
.mapper("dao.mapper")//mapper包
.controller("controller")//controller包
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "E:\\msyWorkspace\\Programmer-Apprentice\\apprentice\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("user_copy1"); // 设置需要生成的表名
})
.execute();//执行
packageConfig里面要注意填写你对应的包位置,相对位置是src\\main\\java注释我都写在代码注释里了,最后执行这个方法就生成对应的各个层的代码了!
说在之后
师徒系统我会一直更新,因为是开源的项目,所以我也希望又更多的小伙伴加入进来!!
这是程序员师徒管理系统的地址:
程序员师徒管理系统