文章目录
前言
pageHelper是一个常用的分页插件,支持大多数数据库
一、导入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
二、调用pageHelper的方法
1.在调用查询语句的方法之前调用pageHelper的方法
//在调用数据库的方法之前调用pageHelper方法
PageHelper.startPage(page,size);//pageHelp的方法,参数分别为第几页和每页显示几条数据
//调用数据库的查询语句
List<MeetingRoom> meetingRooms = meetingRoomService.findAllMeetingRoom();
PageInfo pageInfo = new PageInfo(meetingRooms);
2.在spring配置文件中配置
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--注入数据源-->
<property name="dataSource" ref="myDatasource"></property>
<!--加载主配置文件-->
<property name="configLocation" value="classpath:mybatis.xml"></property>
<!--配置pagehelper-->
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<<!--表示使用哪种数据库-->
<prop key="helperDialect">mysql</prop>
<!--当到达第一页或最后一页不会溢出报错,例如在第一页点上一页还是第一页-->
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
</bean>
3. 把查询的结果放入pageInfo的构造方法中
new 出来的pageInfo对象里有常用的属性,可以把这些属性存入ModelAndView中放入域中在jsp页面使用
sql语句
PageInfo中常用参数:
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
更多参数参考pageHelper中的PageInfo参数
4.在jsp页面使用
主要看连接的参数部分如何写
<a href="${pageContext.request.contextPath}/meetingRoom/meetingRoomIndex?page=1&size=${pageInfo.pageSize}" >首页</a>
<a href="${pageContext.request.contextPath}/meetingRoom/meetingRoomIndex?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}" >上一页</a>
<a href="${pageContext.request.contextPath}/meetingRoom/meetingRoomIndex?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}" >下一页</a>
<a href="${pageContext.request.contextPath}/meetingRoom/meetingRoomIndex?page=${pageInfo.pages}&size=${pageInfo.pageSize}" >尾页</a>
共 ${pageInfo.pages} 页 ${pageInfo.total} 条记录
总结
这就是pageHelper的简单使用步骤,其中有个地方我踩过坑,pagehelper报sql语句错误