知识点:使用pagehelper实现分页功能
参考资料github上:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md
(1)不是maven项目,则需要下载引用pagehelper和jsqlparser两个jar包
http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/
http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.5/
maven项目只需,直接在pom.xml中引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>最新版本</version>
</dependency>
(2)在mybatis配置文件mybatis-config.xml中配置拦截器插件
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
(3)在代码中使用分页功能
例如:1.查询所有数据,然后分页
Page<Object> page=PageHelper.startPage(4, 1);//4为第4页,1为每页的页数
注意:紧跟着的第一个select方法会被分页
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);//查询所有数据
2.需要连续显示多少页
//navigatePages=5 传入要连续显示多少页
PageInfo<Employee> info=new PageInfo<>(emps,5);
System.out.println("当前页码"+info.getPageNum());
System.out.println("总记录数"+info.getTotal());
System.out.println("每页记录数"+info.getPageSize());
System.out.println("总页码"+page.getPages());
System.out.println("连续显示的页码");
int[] nums=info.getNavigatepageNums();
for (int i : nums) {
System.out.println(i);
}
效果:
源码:https://github.com/shuaishuaihand/pagehelper.git