PageHelper分页插件的使用

PageHelper是在github上免费的一个分页插件,其提供了对数据查询很好的封装和查询效率。
使用PageHelper分页插件需引用jar包。下面介绍maven引用:
1、在maven项目的pom.xml插入以下包:

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

2、在需查询前,引入语句:

//在查询之前只需要调用,传入页码(pn),以及每页大小(5)
PageHelper.startPage(pn, 5);

3、startPage后紧跟的这个查询就是一个分页查询,这个查询是控制层的(Controller)直接调用查询方法

//startPage后紧跟的这个查询就是一个分页查询()
List<Employee> empsq=employeeService.getAll();

4、

//使用pageInfo包装查询后的结果,只需要将pageInfo交给页面就行了
//封装了详细的分页信息,包括有我们查询出来的数据,传入连续显示的页数
PageInfo page=new PageInfo(empsq,5);

5、因为我的是ssm框架,所以还需在mybatis的配置文件的configuration标签内,加入以下语句:

<plugins>
  			<plugin interceptor="com.github.pagehelper.PageInterceptor">
  				<property name="helperDialect" value="mysql" />
  				<!-- 分页参数合理化 -->
  				<property name="reasonable" value="true" />
  			</plugin>
  </plugins>

6.请求成功以后,请求域中会有page,我们可以取出page进行验证:

		PageInfo pi=(PageInfo) request.getAttribute("page");
		System.out.println("当前页码:"+pi.getPageNum());
		System.out.println("总页码:"+pi.getPages());
		System.out.println("总记录数:"+pi.getTotal());
		System.out.println("在页面需要连续显示的页码");
		int[] nums=pi.getNavigatepageNums();
		for(int i:nums){
			System.out.println(" "+i);
		}
		//获取当前页码的员工数据
		List<Employee> list=pi.getList();
		for(Employee e:list){
			System.out.println("ID:"+e.getEmpId()+"==Name:"+e.getEmpName());
		}

最后,这个插件对大数据量的查询分页很好,效率很快~,是物理分页

上一篇:Nginx实现高可用(了解)


下一篇:Java开发面试题,用了这么多年分页PageHelper