分页器插件
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);
}
Comments NOTHING