ssm使用pageHelper进行分页

ssm如何使用pagehelper进行分页

最近在写ssm分页的时候遇到了一些麻烦,在此记录一下,顺便总结一下ssm使用pageHelper的过程。

1.首先在配置文件中引入依赖

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.2</version>
        </dependency>

2.在mybatis-config.xml中添加插件

    <!--引入pageHelper分页插件,注意plugin标签位置-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

3.在controller中编写:

//    分页获取书籍
    @RequestMapping("/getAll")
    private String getAll(Model model, @RequestParam(required = false,defaultValue = "1",value = "page")Integer page ){
        PageHelper.startPage(page, 5);
        List<Book> books =bookService.getAll();
        PageInfo<Book> pageInfo = new PageInfo(books, 5);
//        model.addAttribute("books", books);
        model.addAttribute("pageInfo", pageInfo);
        if (books!=null)
            return "books";
        return "failed";
    }

4.在books.jsp中遍历集合拿到数据

-%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>

<html>
<head>
    <title>Title</title>
</head>
<body>
<div class="container-sm">
    <table class="table">

        <thead>
        <tr>

            <th scope="col">序号</th>
            <th scope="col">书名</th>
            <th scope="col">价格</th>
            <th scope="col">作者</th>
            <th scope="col">数量</th>
        </tr>
        </thead>
        <c:forEach items="${requestScope.pageInfo.list}" var="keyword">
        <tbody>
        <tr>
            <th scope="row">${keyword.bookId}</th>
            <td>${keyword.bookName}</td>
            <td>${keyword.bookPrice}</td>
            <td>${keyword.bookWriter}</td>
            <td>${keyword.bookNum}</td>
        </tr>
        </tbody>
</c:forEach>
    </table>
</div>
<div class="row">
    <div class="col-md-6">
        第${pageInfo.pageNum}页,共${pageInfo.pages}页,共${pageInfo.total}条记录
    </div>
    <div class="col-md-6 offset-md-4">
        <nav aria-label="Page navigation example">
            <ul class="pagination pagination-sm">
                <li class="page-item"><a class="page-link" href="/book/getAll?page=1">首页</a></li>
                <c:if test="${pageInfo.hasPreviousPage}">
                    <li class="page-item"><a class="page-link"
                                             href="/book/getAll?page=${pageInfo.pageNum-1}">上一页</a></li>
                </c:if>
                <c:forEach items="${pageInfo.navigatepageNums}" var="page">
                    <c:if test="${page==pageInfo.pageNum}">
                        <li class="page-item active"><a class="page-link" href="#">${page}</a></li>
                    </c:if>
                    <c:if test="${page!=pageInfo.pageNum}">
                        <li class="page-item"><a class="page-link"
                                                 href="/book/getAll?page=${page}">${page}</a></li>
                    </c:if>
                </c:forEach>
                <c:if test="${pageInfo.hasNextPage}">
                    <li class="page-item"><a class="page-link"
                                             href="/book/getAll?page=${pageInfo.pageNum+1}">下一页</a></li>
                </c:if>
                <li class="page-item"><a class="page-link" href="/book/getAll?page=${pageInfo.pages}">末页</a>
                </li>
            </ul>
        </nav>
    </div>
</div>
</div>
</body>
</html>

查看运行效果

在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值