首先导入pom.xml依赖:
<!-- 分页 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.0.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.github.jsqlparser/jsqlparser --> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>0.9.5</version> </dependency>
SqlMapConfig配置文件:
<!-- 配置分页插件 --> <plugins> <!-- com.github.pagehelper为PageHelper类所在包名 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 4.0.0以后版本可以不设置该参数 --> <property name="dialect" value="mysql"/> </plugin> </plugins>需要在 applicationContext.xml 引入一下SqlMapConfig 文件
jsp页面:
共<span>${stockall.total}条记录当前显示</span><span>现在显示第${stockall.pageNum}页</span> <a href="/StockController/findStockAll.action?pageNo=${stockall.firstPage}&pageSize=${stockall.pageSize}" >首页</a> <c:choose> <c:when test="${stockall.isFirstPage==true}"> <a href="/StockController/findStockAll.action?pageNo=${stockall.firstPage}&pageSize=${stockall.pageSize}" >上一页</a> </c:when> <c:otherwise> <a href="/StockController/findStockAll.action?pageNo=${stockall.prePage}&pageSize=${stockall.pageSize}" >上一页</a> </c:otherwise> </c:choose> <c:choose> <c:when test="${stockall.isLastPage==true}"> <a href="/StockController/findStockAll.action?pageNo=${stockall.lastPage}&pageSize=${stockall.pageSize}" >下一页</a> </c:when> <c:otherwise> <a href="/StockController/findStockAll.action?pageNo=${stockall.nextPage}&pageSize=${stockall.pageSize}" >下一页</a> </c:otherwise> </c:choose> <a href="/StockController/findStockAll.action?pageNo=${stockall.lastPage}&pageSize=${stockall.pageSize}">尾页</a>
Controller层实现
//查询所有带分页 @RequestMapping(value = "findStockAll") public String findStockAll(Model model,String pageNo, String pageSize,String stockName) throws UnsupportedEncodingException { if(stockName!=null){ stockName=new String(stockName.getBytes("ISO-8859-1"),"utf-8"); } System.out.println(stockName); int num = 1; int size = 3; if(pageNo != null && !"".equals(pageNo)) { num = Integer.parseInt(pageNo); } if (pageSize != null && !"".equals(pageSize)) { size = Integer.parseInt(pageSize); } /** * 开始分页 * * @param pageNum 页码 * @param pageSize 每页显示数量 * @param count 是否进行count查询 * @param reasonable 分页合理化,null时用默认配置 * @param pageSizeZero true且pageSize=0时返回全部结果,false时分页,null时用默认配置 */ //开始分页 PageHelper.startPage(num,size); //查询数据库信息 List<Stock> stockAll = stockService.findStockAll(stockName); System.out.println(stockAll); //将信息放入PageInfo进行分页 PageInfo<Stock> pageInfo = new PageInfo<Stock>(stockAll); System.out.println(pageInfo.getPageNum()); System.out.println(pageInfo.getPageSize()); System.out.println(pageInfo.getTotal()); System.out.println(pageInfo.getFirstPage()); System.out.println(pageInfo.getLastPage()); System.out.println(pageInfo.getPrePage()); System.out.println(pageInfo.getNextPage()); model.addAttribute("stockall",pageInfo); return "all"; }
以下是模板引擎 页面代码
分页+模糊查询
public String select(String name, String pageNo, String pageSize, HttpSession session){
//设置初始值
int number=1;
int size=4;
//判定参数是否为空
if(pageNo!=null && !"".equals(pageNo))
{
number=Integer.parseInt(pageNo);
}
if(pageSize!=null && !"".equals(pageSize))
{
size=Integer.parseInt(pageSize);
}
//开始分页
PageHelper.startPage(number,size);
//调用方法
List<House> list = houseService.select(name);
PageInfo<House> info = new PageInfo<House>(list);
session.setAttribute("pageinfo",info);
if(name != null && name != ""){
session.setAttribute("name",name);
}else{
session.setAttribute("name",null);
}
//将分页的信息存进作用域
return "main";
}
页面代码--------------------------->
<#if name ??>
共${pageinfo.total}条当前${pageinfo.pageNum}页${pageinfo.pageSize}条
<a href="/house/select?name=${name}&pageNo=${pageinfo.firstPage}&pageSize=${pageinfo.pageSize} ">首页</a>
<#if pageinfo.isFirstPage == true>
<a href="/house/select?name=${name}&pageNo=${pageinfo.firstPage}&pageSize=${pageinfo.pageSize} ">上一页</a>
<#else >
<a href="/house/select?name=${name}&pageNo=${pageinfo.prePage}&pageSize=${pageinfo.pageSize} ">上一页</a>
</#if>
<#if pageinfo.isLastPage == true>
<a href="/house/select?name=${name}&pageNo=${pageinfo.lastPage}&pageSize=${pageinfo.pageSize} ">下一页</a>
<#else >
<a href="/house/select?name=${name}&pageNo=${pageinfo.nextPage}&pageSize=${pageinfo.pageSize} ">下一页</a>
</#if>
<a href="/house/select?name=${name}&pageNo=${pageinfo.lastPage}&pageSize=${pageinfo.pageSize} ">尾页</a>
<#else >
共${pageinfo.total}条当前${pageinfo.pageNum}页${pageinfo.pageSize}条
<a href="/house/select?pageNo=${pageinfo.firstPage}&pageSize=${pageinfo.pageSize} ">首页</a>
<#if pageinfo.isFirstPage == true>
<a href="/house/select?pageNo=${pageinfo.firstPage}&pageSize=${pageinfo.pageSize} ">上一页</a>
<#else >
<a href="/house/select?pageNo=${pageinfo.prePage}&pageSize=${pageinfo.pageSize} ">上一页</a>
</#if>
<#if pageinfo.isLastPage == true>
<a href="/house/select?pageNo=${pageinfo.lastPage}&pageSize=${pageinfo.pageSize} ">下一页</a>
<#else >
<a href="/house/select?pageNo=${pageinfo.nextPage}&pageSize=${pageinfo.pageSize} ">下一页</a>
</#if>
<a href="/house/select?pageNo=${pageinfo.lastPage}&pageSize=${pageinfo.pageSize} ">尾页</a>
</#if>