MySQL 七天 学_学成在线(第7天)

我的课程

课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询。

注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示。

20200201103235746895.png

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

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语句,实现分页查询。

20200201103235851391.png

PageHelper配置

1)添加依赖

com.github.pagehelperpagehelper‐spring‐boot‐starter1.2.4

2)配置pageHelper

在application.yml中配置pageHelper操作的数据库类型:

pagehelper:

helper‐dialect: mysql

PageHelper测试

1)定义mapper 接口

importcom.github.pagehelper.Page;importcom.xuecheng.framework.domain.course.CourseBase;importcom.xuecheng.framework.domain.course.ext.CourseInfo;importcom.xuecheng.framework.domain.course.request.CourseListRequest;importorg.apache.ibatis.annotations.Mapper;

@Mapperpublic interfaceCourseMapper {

CourseBase findCourseBaseById(String id);

PagefindCourseListPage(CourseListRequest courseListRequest);

}

2)定义mapper.xml映射文件

SELECT

course_base.*,

(SELECT pic FROM course_pic WHERE courseid = course_base.id) pic

FROM

course_base

3)测试Dao

//测试分页

@Testpublic voidtestPageHelper(){

PageHelper.startPage(1, 10);//查询第一页,每页显示10条记录

CourseListRequest courseListRequest = newCourseListRequest();

Page courseListPage =courseMapper.findCourseListPage(courseListRequest);

List result =courseListPage.getResult();

System.out.println(courseListPage);

}

测试前修改日志级别为debug,并跟踪运行日志,发现sql语句中已经包括分页语句。

20200201103235997881.png

20200201103236079915.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值