10-分页器插件

nobility 发布于 2022-04-22 539 次阅读


分页器插件

PageHelper是MyBatis的一个插件,用于简化分页查询操作,支持常见的12种数据库,支持多种分页方式

获取PageHelper

将下面的依赖代码加入pom.xml文件中,也可从PageHelper官网获取jar包导入,PageHelper依赖jsqlparser,所以也要同时下载jsqlparser包

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>x.x.x</version>
</dependency>

基本使用

在MyBatis全局配置文件增加注册插件,具体如下,注意plugins顺序,在environments标签之前

<plugins>
  <plugin interceptor="com.github.pagehelper.PageInterceptor">  <!--注册PageHelper插件-->
    <!--property标签用于配置插件参数-->
    <property name="helperDialect" value="mysql"/>  <!--指定当前数据库是MySQL-->
    <property name="reasonable" value="true"/>  <!--开启分页合理化,若页数是非法的,会自动转化为最后一页或第一页-->
  </plugin>
</plugins>

在调用查询大批量数据之前使用PageHelper中的方法,下面是用于测试的关键代码片段

StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);

PageHelper.startPage(2, 5); //指定分页的页码和页面大小
Page<Student> page = (Page) studentMapper.selectAll(); //强转为Page对象
System.out.println("总页数:" + page.getPages());
System.out.println("总记录数:" + page.getTotal());
System.out.println("开始行号:" + page.getStartRow());
System.out.println("结束行号:" + page.getEndRow());
System.out.println("当前页码:" + page.getPageNum());
List<Student> result = page.getResult();  //获取页面记录
System.out.println("当前页中记录:" + result);
System.out.println("==============可直接遍历出结果==============");
for (Student student : result) {
  System.out.println(student);
}
此作者没有提供个人介绍
最后更新于 2022-04-22