阶段5 3.微服务项目【学成在线】_day07 课程管理实战_01-我的课程-需求分析与PageHelper技术


1 我的课程
1.1需求分析
课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询。
注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示。


上边的查询要实现分页、会存在多表关联查询,所以建议使用mybatis实现我的课程查询。

1.2 PageHelper
1.2.1 PageHelper介绍
PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句,
最终实现分页查询功能。
我的课程具有分页功能,本项目使用Pagehelper实现Mybatis分页功能开发,由于本项目使用springboot开发,在
springboot上集成pagehelper(https://github.com/pagehelper/pagehelper-spring-boot)
PageHelper的使用方法及原理如下:
在调用dao的service方法中设置分页参数:PageHelper.startPage(page, size),分页参数会设置在ThreadLocal中
PageHelper在mybatis执行sql前进行拦截,从ThreadLocal取出分页参数,修改当前执行的sql语句,添加分页
sql。
最后执行添加了分页sql的sql语句,实现分页查询。


这是课程的基本信息表,这个表中没有课程图片的

所以要显示课程的图片就必须要关联课程图片表

所以这个查询建议用Mybatis来做

通过Mybatis拦截器,由pageHelper对它进行拦截,从ThreadLocal中取出page和size参数,由pageHelper来拼装sql语句

添加引用



配置数据库的类型

定义方法

注意返回类型

定义查询课程列表的方法

xml内配置

测试

执行startPage方法就会把参数设置到ThreadLocal。在拦截器里面  Mybatis执行之前就会拿到设置的页码和每页显示的数据量

然后下面正常的执行查询就可以了


在测试之前可以把日志设置到debug。主要用来看Mybatis里面打印出来的sql语句是什么


可以查询到10条记录


参数要在service里面设置,也就是在调用dao之前设置分页的页码

图片是分布式的文件地址,现在只需要做查询显示出来图片就可以了








 

posted @ 2019-10-06 19:48  高山-景行  阅读(194)  评论(0编辑  收藏  举报