PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句, 最终实现分页查询功能。
PageHelper的使用方法及原理如下:
在调用dao的service方法中设置分页参数:PageHelper.startPage(page, size),分页参数会设置在ThreadLocal中
PageHelper在mybatis执行sql前进行拦截,从ThreadLocal取出分页参数,修改当前执行的sql语句,添加分页 sql。 最后执行添加了分页sql的sql语句,实现分页查询。
PageHelper配置
1、导入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
2、添加配置(指定数据库)
pagehelper:
helper‐dialect: mysql
3、定义mapper,写mapper.xml,
其中sql语句:select * from a
4、service调用方法(pagehelper不止有分页,还有很多功能)
//查询第一页,每页显示10条记录
PageHelper.startPage(1, 10);
Page<CourseInfo> courseListPage = courseMapper.findCourseListPage();
List<CourseInfo> result = courseListPage.getResult();