使用PageHelper进行分页的简单配置
每次做项目一到分页就感觉头大,就在前几天碰到Mybatis PageHelper 分页插件使用简单功能强大
导入moven 依赖
<!-- Mybatis 分页工具 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.10</version>
</dependency>
整合SSM 在applicationContext.xml 进行 分页的配置
在sqlSessionFactory Bean 中配置 分页工具
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 配置 分页工具 -->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
<!--指定方言 -->
helperDialect=mysql
<!-- 分页合理化参数 注意没有,-->
reasonable=true
</value>
</property>
</bean>
</array>
</property>
<!-- 加载mapper.xml路径 -->
<property name="mapperLocations"
value="classpath:mapper/*.xml"></property>
</bean>
配置完以上的Bean 后就完成了一步了接下来就来配置Controller类了
// 在查询之前只需要调用,传入页码,每页数据的大小
PageHelper.startPage(1, 5);
// startPage 后面的就是一个分页查询 这里我使用的最近的一个项目中的查询具体可以根据自己的来
List<Employee> employee = EmployeeService.getAll();
// 使用pageInfo 包装查询后的信息,只要把pageInfo交给页面就行
// 封装了详细的分页信息,包括数据,传入连续显示的数等等数据
PageInfo page = new PageInfo(employee, 5);
通过JSON 来看封装的分页数据:
以下为上图的解释
pageNum:是请求的第几页
pageSize :每页的数量
Size:当前页的数量
startRow:开始行
endRow:结束行
pages:总页数
prePage:上一页
next Page:下一页
isFirstPage:是否为第一页
isLastPage:是否为最后一页
hasPreviousPage = false;是否有前一页
hasNextPage = false;是否有下一页
navigatepageNums:所有导航页号
navigateFirstPage: 导航条上的第一页
navigateLastPage:导航条上的最后一页