自定义mapper
后面加上custom表示mapper是自定义的
自定要实现的方法
定义xml
复制一份CategoryMapperCustom加上Custom为自定义的。
这里之前是给通用mapper用的,所以这里可以删掉了。
namespace这里一定要改成CaegoryMapperCustom
id就是我们接口内定义的方法
把sql语句复制过来,这样会 呈现为黄色,这样可读性会比较好的。如果写到一行上,可读性就会很差。这样做也对后续DBA来优化有很好的可读性。这是非常有必要去注意的。
id是要通过外部传入进来的。接口内,我们定义的是rootCatId
参数的类型是int
sql查询出来的结果, 对我们来说,非常的荣誉,我们只需要用到两行内容 。蛋糕和点心。我们可以通过一个pojo再包含一个List这种数据格式,把他们封装到一起。Mybatis也提供了这样的功能,我们是可以去实现的。
创建vo层
新建一个包叫做vo
bo是前端业务封装的数据传入到后端,他是发送请求过来的。内部传出去,相当于要传给前端,前端可以是手机端也可以是h5,拿到相应的数据去进行展示。它是展现在显示层的。显示层又称之为表现层。
创建三级分类的vo类
生成get和set
二级分类也快速的生成get和set
处理自定义mapper
每一个select标签,其实是要对应一个实体。这里我要使用resultMap,这个map是做映射的。
我们在上面定义resultMap
复制我们的vo类的reference引用。
jdbcType是可加,可不加的,在这里就先去掉它
这样我们第一CategoryVO的第一个映射就完成了。
在之类vo里面,它还有一个list
里面的子标签 包含了collection
property对应的三级分类的属性名,直接复制过来就可以了。
ofType表示subCatList对应的类是什么。
service层
service层都加上事务
service实现类
引入自定义的mapper
定义好方法返回的类型
直接return
controller
swagger的注解
value是争对参数的描述。
设置参数必填的
默认这个require是false的。
测试
首先install安装一下
重启web服务。swagger做测试。
三级分了在subCatList里。
测试前端
刷新页面,鼠标移动到一级分类这里。