1.项目用的是ssm框架,没有用maven管理,不能在pom.xml中配置,所以导入相关jar包,2个包
pagehelper-4.1.1.jar
jsqlparser-0.9.4.jar
2.配置spring-mybatis.xml文件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
< property name="dataSource" ref="dataSource"/>
< property name="mapperLocations" value="classpath:com/hoomsun/Mapper/*/*.xml" />//这个是我项目目录下的value值,别全复制了
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<value>
dialect=oracle //我用的是oracle
reasonable=true
<value>
</property>
</bean>
</array>
</property>
<bean>
3.关键代码片段
controller层
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
... ...
@RequestMapping(value="/frequencyLists")//前台展示页面
public String frequencyList(@RequestParam(value="pn",defaultValue="1")Integer pn,HttpServletRequest request,HttpServletResponse response,Model model) throws Exception{
PageHelper.startPage(pn,5);//传入页面以及每页的大小,5(pageSize)是自己设定,1页有几条数据
List> frequencyListTotal=frequencyService.selectFrequency();//返回的查询结果
PageInfo page=new PageInfo(frequencyListTotal,5);//这就算分页完成了
model.addAttribute("frequencyListTotal",frequencyListTotal);//前台可以拿到这个列表结果
model.addAttribute("pageInfo", page);//前台可以拿到这个分页结果
return "frequency/frequencyList";//返回前台
}
前台分页
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%
@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
... ...
当前${pageInfo.pageNum}页,总${pageInfo.pages }页,总共${pageInfo.total}条记录 //pageInfo是后台传过来的,参数都是这个插件封装好的,其它参数 看API
<ul >
<li><a href="frequency/frequencyList?pn=${pageInfo.firstPage }">首页</li>
<a href="frequency/frequencyList?pn=${pageInfo.pageNum-1}" aria-label="Previous>«/*<<*/
<c:forEach var="page_Num" items="${pageInfo.navigatepageNums }"> //遍历每一页
<c:if test="${page_Num==pageInfo.pageNum }"> //判断是否是当前页
<li class="active"><a href="frequency/frequencyList?pn=${page_Num }">${page_Num }</a></li>
</c:if>
<c:if test="${page_Num==pageInfo.pageNum>
<li><a href="frequency/frequencyList?pn=${page_Num }" > ${page_Num } </a></li>
</c:if>
<c:forEach>
<a href="frequency/frequencyList?pn=${pageInfo.pageNum+1}" aria-label="Next">»/*<<*/ 当前页+1
<li><a href="frequency/frequencyList?pn=${pageInfo.lastPage }">末页</li>
</ul>
大体思路就是这样