一、• PageHelper是MyBatis中非常方便的第三方分页插件。
• 官方文档:https://github.com/pagehelper/MybatisPageHelper/blob/master/README_zh.md• 我们可以对照官方文档的说明,快速的使用插件
二、使用步骤
• 1、导入相关包pagehelper-x.x.x.jar 和 jsqlpars0.9.5.jar。
• 2、在MyBatis全局配置文件中配置分页插件。
• 3、使用PageHelper提供的方法进行分页
• 4、可以使用更强大的PageInfo封装返回结果
<!--配置mybatis分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.6</version>
</dependency>
全局配置文件配置插件 :拦截器
<plugins>
<!--这两个自己定义的插件:-->
<!--<plugin interceptor="com.mybatis.plugin.MyFirstPlugin">
<property name="userName" value="root"/>
<property name="password" value="132456"/>
</plugin>
<plugin interceptor="com.mybatis.plugin.MySecondPlugin">
</plugin>-->
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
<property name="param1" value="value1"/>
</plugin>
</plugins>
@Test
public void testPageHelper() throws IOException {
//获取sqlSessionFactory对象
SqlSession session = getSqlSession();
//获取mapper接口,然后调用接口方法,具体的实现在配置文件中有sql
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
//分页查询第一页,每页三条信息
Page<Object> page = PageHelper.startPage(1, 3);
List<Employee> emps = mapper.getEmps();
for (Employee e: emps) {
System.out.println(e);
}
System.out.println("页码大小"+page.getPageSize());
System.out.println("总共多少记录数:"+page.getTotal());
/**************pageInfo******************/
PageInfo<Employee> pageInfo = new PageInfo<>(emps);
System.out.println("是否第一页"+pageInfo.isIsFirstPage());
/********************************************************/
PageInfo<Employee> pageInfos = new PageInfo<>(emps,4);
System.out.println("开始连续显示页码数");
int[] nums = pageInfos.getNavigatepageNums();
for(int i :nums) {
System.out.println(i);
}
}
方式一:传参page
方式二:结果封装为new PageInfo(emps);