SSM整合分页插件

目录

一.环境配置

1.分页插件依赖

2.在Mybatis里面配置的内容

二.使用分页插件

1.在ServiceImpl层开启分页插件(即查询数据库前开启)

2.控制器方法

3.jsp页面进行整理

4.效果

5. 样式

6.常用的数据说明


一.环境配置

1.分页插件依赖

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

2.在Mybatis里面配置的内容

<!--   配置分页插件 PageInterceptor-->
   <plugins>
      <plugin interceptor="com.github.pagehelper.PageInterceptor"/>
   </plugins>

二.使用分页插件

1.在ServiceImpl层开启分页插件(即查询数据库前开启)

    public PageInfo<User> findAllUser(int pagNum) {
//        查询之前开启 开启分页功能
        PageHelper.startPage(pagNum,3);
//        查询所有用户信息
        List<User> allUser = userMapper.findAllUser();
//        获取分页相关数据
        PageInfo<User> page = new PageInfo<>(allUser,3);
        return page;
    }

2.控制器方法

注:pageNum设置为包装类很实用

    @RequestMapping("/findAllUser")
    public String findAllUser(Model model,Integer pageNum){
//        不能直接获取员工信息,因为要获取页码数等传递到web
        if (pageNum == null) {
            pageNum=1;
        }
        PageInfo<User> page= userService.findAllUser(pageNum);
        System.out.println("find"+pageNum);
        model.addAttribute("page",page);
        return  "user_list";
    }

3.jsp页面进行整理

<c:forEach var="user" items="${page.list }">
        <tr>
            <td class="row">${user.id}</td>
            <td class="row">${user.name}</td>
            <td class="row">${user.pwd}</td>
            <td class="row">${user.age}</td>
            <td class="row">${user.sex}</td>
            <td class="row">
                <button id="del" class="btn btn-primary" onclick="delUser(${user.id})">删除</button>
                <button class="btn btn-primary" data-toggle="modal" data-target="#myModal2" onclick="findUserById(${user.id})">修改</button>
            </td>
<%--模态框data-target="#myModal2" id="myModal2" 对应这个--%>
        </tr>
    </c:forEach>
    <c:if test="${page.hasNextPage}">
    <a href="/findAllUser?pageNum=${page.pageNum+1}">下一页</a>
    <a href="/findAllUser?pageNum=${page.lastPage}">末页</a>
</c:if>
    <span>
            <c:forEach items="${page.navigatepageNums}" var="p">
                <c:if test="${page.pageNum== p}" >
                    <a class="color1" href="/findAllUser?pageNum=${p}" >${p}</a>
                </c:if>

                <c:if test="${page.pageNum!=p}">
                    <a href="/findAllUser?pageNum=${p}">${p}</a>
                </c:if>
            </c:forEach>
    </span>
<c:if test="${page.hasPreviousPage}">
    <a href="/findAllUser?pageNum=${page.pageNum-1}">上一页</a>
    <a href="/findAllUser?pageNum=1">首页</a>
</c:if>

4.效果

5. 样式

        <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
        <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style type="text/css">


    body {
        text-align:center;
        font: normal 11px  "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
        color: #4f6b72;
        background: #E6EAE9;
    }

    a {
        color: #c75f3e;
    }

    #mytable {
        width: 700px;
        padding: 0;
        margin: 0;
    }

    caption {
        padding: 0 0 5px 0;
        width: 700px;
        font: italic 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
        text-align: right;
    }

    th {
        font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
        color: #4f6b72;
        border-right: 1px solid #C1DAD7;
        border-bottom: 1px solid #C1DAD7;
        border-top: 1px solid #C1DAD7;
        letter-spacing: 2px;
        text-transform: uppercase;
        text-align: left;
        padding: 6px 6px 6px 12px;
        background: #CAE8EA  no-repeat;
    }

    th.nobg {
        border-top: 0;
        border-left: 0;
        border-right: 1px solid #C1DAD7;
        background: none;
    }

    td {
        border-right: 1px solid #C1DAD7;
        border-bottom: 1px solid #C1DAD7;
        background: #fff;
        font-size:11px;
        padding: 6px 6px 6px 12px;
        color: #4f6b72;
    }


    td.alt {
        background: #F5FAFA;
        color: #797268;
    }

    th.spec {
        border-left: 1px solid #C1DAD7;
        border-top: 0;
        background: #fff no-repeat;
        font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    }

    th.specalt {
        border-left: 1px solid #C1DAD7;
        border-top: 0;
        background: #f5fafa no-repeat;
        font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
        color: #797268;
    }
    /*---------for IE 5.x bug*/
    html>body td{ font-size:11px;}
    body,td,th {
        font-family: 宋体, Arial;
        font-size: 12px;
    }
    .color1{
        color: blue;
    }
</style>

6.常用的数据说明

pageNum:当前页的页码
pageSize:每页显示的条数
size:当前页显示的真实条数
total:总记录数
pages:总页数
prePage:上一页的页码
nextPage:下一页的页码
isFirstPage/isLastPage:是否为第一页/最后一页
hasPreviousPage/hasNextPage:是否存在上一页/下一页
navigatePages:导航分页的页码数
navigatepageNums:导航分页的页码,[1,2,3,4,5]
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值