首先导入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>
mybatisConfig配置文件:
<!-- 配置分页插件 -->
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 4.0.0以后版本可以不设置该参数 -->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
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";
}