码迷,mamicode.com
首页 > 其他好文 > 详细

分页助手PageHelper学习

时间:2020-02-27 00:34:30      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:base   ice   pen   依赖   request   ace   查询   sel   映射   

PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句, 最终实现分页查询功能。
在 springboot上集成pagehelper,PageHelper的使用方法及原理如下: 在调用dao的service方法中设置分页参数:PageHelper.startPage(page, size),分页参数会设置在ThreadLocal中,PageHelper在mybatis执行sql前进行拦截,从ThreadLocal取出分页参数,修改当前执行的sql语句,添加分页 sql。 最后执行添加了分页sql的sql语句,实现分页查询。

1、 PageHelper配置 

添加依赖

<dependency>
     <groupId>com.github.pagehelper</groupId>
     <artifactId>pagehelper‐spring‐boot‐starter</artifactId>  
   <version>1.2.4</version> </dependency>

2、配置pageHelper

在yml中写入配置

pagehelper:   
  helper‐dialect: mysql

3、测试

1)定义mapper接口

@Mapper 
public interface CourseMapper {
     CourseBase findCourseBaseById(String id);
    Page
<CourseInfo> findCourseListPage(CourseListRequest courseListRequest); }

2)定义mapper.xml映射文件

<select id="findCourseListPage" resultType="com.xuecheng.framework.domain.course.ext.CourseInfo"  parameterType="com.xuecheng.framework.domain.course.request.CourseListRequest">
    SELECT
     course_base.*,
    (SELECT pic FROM course_pic WHERE courseid = course_base.id) pic
    FROM
     course_base
</select>

3)测试dao

@Test
 public void testPageHelper(){
     PageHelper.startPage(1, 10);//查询第一页,每页显示10条记录      
     CourseListRequest courseListRequest = new CourseListRequest();     
     Page<CourseInfo> courseListPage = courseMapper.findCourseListPage(courseListRequest);
     List<CourseInfo> result = courseListPage.getResult();
    System.out.println(courseListPage); }

 

分页助手PageHelper学习

标签:base   ice   pen   依赖   request   ace   查询   sel   映射   

原文地址:https://www.cnblogs.com/yamiya/p/12369944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!