• SSM整合分页插件


    目录

    一.环境配置

    1.分页插件依赖

    2.在Mybatis里面配置的内容

    二.使用分页插件

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

    2.控制器方法

    3.jsp页面进行整理

    4.效果

    5. 样式

    6.常用的数据说明


    一.环境配置

    1.分页插件依赖

    1. <dependency>
    2. <groupId>com.github.pagehelpergroupId>
    3. <artifactId>pagehelperartifactId>
    4. <version>5.1.2version>
    5. dependency>

    2.在Mybatis里面配置的内容

    1. <plugins>
    2. <plugin interceptor="com.github.pagehelper.PageInterceptor"/>
    3. plugins>

    二.使用分页插件

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

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

    2.控制器方法

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

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

    3.jsp页面进行整理

    1. <c:forEach var="user" items="${page.list }">
    2. <tr>
    3. <td class="row">${user.id}td>
    4. <td class="row">${user.name}td>
    5. <td class="row">${user.pwd}td>
    6. <td class="row">${user.age}td>
    7. <td class="row">${user.sex}td>
    8. <td class="row">
    9. <button id="del" class="btn btn-primary" onclick="delUser(${user.id})">删除button>
    10. <button class="btn btn-primary" data-toggle="modal" data-target="#myModal2" onclick="findUserById(${user.id})">修改button>
    11. td>
    12. <%--模态框data-target="#myModal2" id="myModal2" 对应这个--%>
    13. tr>
    14. c:forEach>
    15. <c:if test="${page.hasNextPage}">
    16. <a href="/findAllUser?pageNum=${page.pageNum+1}">下一页a>
    17. <a href="/findAllUser?pageNum=${page.lastPage}">末页a>
    18. c:if>
    19. <span>
    20. <c:forEach items="${page.navigatepageNums}" var="p">
    21. <c:if test="${page.pageNum== p}" >
    22. <a class="color1" href="/findAllUser?pageNum=${p}" >${p}a>
    23. c:if>
    24. <c:if test="${page.pageNum!=p}">
    25. <a href="/findAllUser?pageNum=${p}">${p}a>
    26. c:if>
    27. c:forEach>
    28. span>
    29. <c:if test="${page.hasPreviousPage}">
    30. <a href="/findAllUser?pageNum=${page.pageNum-1}">上一页a>
    31. <a href="/findAllUser?pageNum=1">首页a>
    32. c:if>

    4.效果

    5. 样式

    1. <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    2. <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js">script>
    3. <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js">script>
    4. <style type="text/css">
    5. body {
    6. text-align:center;
    7. font: normal 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    8. color: #4f6b72;
    9. background: #E6EAE9;
    10. }
    11. a {
    12. color: #c75f3e;
    13. }
    14. #mytable {
    15. width: 700px;
    16. padding: 0;
    17. margin: 0;
    18. }
    19. caption {
    20. padding: 0 0 5px 0;
    21. width: 700px;
    22. font: italic 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    23. text-align: right;
    24. }
    25. th {
    26. font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    27. color: #4f6b72;
    28. border-right: 1px solid #C1DAD7;
    29. border-bottom: 1px solid #C1DAD7;
    30. border-top: 1px solid #C1DAD7;
    31. letter-spacing: 2px;
    32. text-transform: uppercase;
    33. text-align: left;
    34. padding: 6px 6px 6px 12px;
    35. background: #CAE8EA no-repeat;
    36. }
    37. th.nobg {
    38. border-top: 0;
    39. border-left: 0;
    40. border-right: 1px solid #C1DAD7;
    41. background: none;
    42. }
    43. td {
    44. border-right: 1px solid #C1DAD7;
    45. border-bottom: 1px solid #C1DAD7;
    46. background: #fff;
    47. font-size:11px;
    48. padding: 6px 6px 6px 12px;
    49. color: #4f6b72;
    50. }
    51. td.alt {
    52. background: #F5FAFA;
    53. color: #797268;
    54. }
    55. th.spec {
    56. border-left: 1px solid #C1DAD7;
    57. border-top: 0;
    58. background: #fff no-repeat;
    59. font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    60. }
    61. th.specalt {
    62. border-left: 1px solid #C1DAD7;
    63. border-top: 0;
    64. background: #f5fafa no-repeat;
    65. font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    66. color: #797268;
    67. }
    68. /*---------for IE 5.x bug*/
    69. html>body td{ font-size:11px;}
    70. body,td,th {
    71. font-family: 宋体, Arial;
    72. font-size: 12px;
    73. }
    74. .color1{
    75. color: blue;
    76. }
    77. style>

    6.常用的数据说明

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

  • 相关阅读:
    【JAVA基础】专题课(综合案例下)
    Q41F-40C手动球阀型号解析
    SpringBoot SpringBoot 开发实用篇 6 监控 6.2 SpringBoot Admin
    矩阵键盘反转扫描
    LeetCode-53. 最大子数组和-暴力+类DP+前缀和
    Reggie外卖项目 —— 分类管理模块之新增分类功能
    运行谷歌开源BERT程序时遇到的bug修改记录
    《HTML+CSS+JavaScript》之第9章 表单
    软信天成:AI驱动,化解企业数据的隐私之痛
    linux Shell 命令行-06-flow control 流程控制
  • 原文地址:https://blog.csdn.net/qq_46058550/article/details/126292635