本篇作为SpringBoot2.1版本的个人开发框架 子章节,请先阅读SpringBoot2.1版本的个人开发框架再次阅读本篇文章
后端项目地址:SpringBoot2.1版本的个人应用开发框架
前端项目地址:ywh-vue-admin
我们实现了代码生成的功能后,对于一个web项目来说,我们还要对返回前端的格式进行一个简单的封装Result,所有返回的类型都是统一的格式,以及我们在自动生成的代码可以继承我们自定义的基础controller等类,便于我们自己扩展。
基础枚举类
在common子模块下的base包下创建基础的BaseEnum枚举类用来定义描述信息维护到枚举里面,尽量不要在代码中直接出现魔法值(如一些编码、中文等,直接常量等),以后的枚举常量类也可以按照这种模式来写。
1 | 复制代码package com.ywh.common.base; |
封装前端返回json格式
在common下utils包下的创建Result类,作为前端的返回对象,Controller的直接返回对象都是Result。
1 | 复制代码package com.ywh.common.utils; |
在core的ExampleController中写一个方法,用postman测试一下我们的前端结构体
1 | 复制代码@RestController |
1 | 复制代码{ |
MybatisPlus分页插件
MybatisPlus为我们提供了分页插件,使用也很方便,创建一个配置类即可使用MybatisPlus为我提供的分页查询了,在common下的config包下创建MybatisPlusConfig类
1 | 复制代码package com.ywh.common.config; |
在common下的Entity中创建BasePage类,用于前端传入参数的接收实体类,我们可以控制当前页和一页中显示几条数据
1 | 复制代码package com.ywh.common.entity; |
定义基础Controller、service等
对于我们自动生成的代码我们可以继承我自定义的Controller等等,在common下base包中创建以下类,封装如下:
BaseController、BaseService、BaseServiceImpl、BaseDao: 因为都贴出来太长了,剩下具体代码可前往github查看
1 | 复制代码package com.ywh.common.base; |
可以把一些通用的CRUD方法写在这些基础类中,在我们有了基础的这些类以后,我们自动生成的代码并没有在生成的时候继承我们这些定义好的基础类,所以我们要修改一下CodeGenerator工具类以便在生成的时候就继承,在CodeGenerator的策略配置中添加以下代码就可以了
1 | 复制代码//继承自定义的controller,service,impl,dao |
测试用例
我们上面添加了基础类和分页插件以后,测试一下是不是好用的,把之前生成的Controller等文件删除也好,把myBatisPlus.properties中的是否覆盖文件设置成true也行,重新生成代码然后通过postman测试我们的查询,分页查询,添加数据等等好不好用。
可以看到我有三条数据,但是我规定了当前页只显示一条数据,分页查询已经生效了,其他方法我这里就不测试了。
本文转载自: 掘金