zoukankan      html  css  js  c++  java
  • springboot+jpa分页(Pageable+Page)

    Pageable+Page实现分页无需配置,也不需要加入jar包(maven依赖)

    Controller控制层

    package com.gxuwz.late.controller;
    
    import com.gxuwz.late.bean.Record;
    import com.gxuwz.late.repository.RecordRepository;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.PageRequest;
    import org.springframework.data.domain.Pageable;
    import org.springframework.data.domain.Sort;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.servlet.http.HttpServletResponse;
    
    @Controller
    @RequestMapping("/manager")
    public class ManagerController {
        static Logger logger = LoggerFactory.getLogger(ManagerController.class);
    
        @Autowired
        RecordRepository recordRepository;
    
        @RequestMapping("/list")
        public String list(HttpServletResponse response, Model model, Integer pageNum){
                           
            if (pageNum == null){
                pageNum = 1;
            }
         // 排序方式,这里是以“recordNo”为标准进行降序 Sort sort
    = new Sort(Sort.Direction.DESC, "recordNo"); // 这里的"recordNo"是实体类的主键,记住一定要是实体类的属性,而不能是数据库的字段 Pageable pageable = new PageRequest(pageNum - 1, 6, sort); // (当前页, 每页记录数, 排序方式) Page<Record> list = recordRepository.findAll(pageable); logger.info("pageNum==" + pageNum); model.addAttribute("pageInfo", list); response.addHeader("x-frame-options","SAMEORIGIN"); // 允许iframe return "record_list"; } }

    html页面

          <table id = "table" class="table table-hover text-center">
                  <tr>
                    <th>晚归记录编号</th>
                    <th>宿舍楼编号</th>
                    <th>宿舍号</th>
                    <th>学号</th>
                    <th>班级</th>
                    <th>辅导员</th>
                    <th>晚归时间</th>
                    <th>晚归原因</th>
                    <th>操作</th>
                  </tr>
              
         <!--  pageInfo.getContent() 返回的是一个list      -->
                    <tr th:each="record:${pageInfo.getContent()}">
                        <td th:text="${record.recordNo }"></td>
                        <td th:text="${record.buildingNo }"></td>
                        <td th:text="${record.dorId }"></td>
                        <td th:text="${record.studentNo }"></td>
                        <td th:text="${record.className }"></td>
                        <td th:text="${record.instName }"></td>
                        <td th:text="${record.time }"></td>
                        <td th:text="${record.reason }"></td>
                    </tr>
                      <tr>
                        <td colspan="8">
                            <div class="pagelist">
                                <p>当前<span th:text="${pageInfo.getNumber()} + 1"></span>页,总<span th:text="${pageInfo.totalPages}"></span>页
                     共<span th:text="${pageInfo.totalElements}"></span>条记录 
                                <a th:href="@{/manager/list}">首页</a>
                                <a th:href="@{/manager/list(pageNum = ${pageInfo.hasPrevious()} ? ${pageInfo.getNumber() } : 1)}">上一页</a>
                                <a th:href="@{/manager/list(pageNum = ${pageInfo.hasNext()} ? ${pageInfo.getNumber()} + 2 : ${pageInfo.totalPages})}">下一页</a>
                                <a th:href="@{/manager/list(pageNum = ${pageInfo.totalPages})}">尾页</a></p>
                            </div>
    
                        </td>
                  </tr>
                </table>

    实现效果:

     

  • 相关阅读:
    《java并发编程实战》读书笔记9--并发程序的测试
    《java并发编程实战》读书笔记8--死锁,性能与可伸缩性,锁粒度锁分解锁分段
    笔试算法题记录1
    _stdcall调用
    通信设备硬件工程师应该具备的基本能力和知识
    PCB产业链、材料、工艺流程详解(1)
    PCB中加入任意LOGO图文说明 精心制作
    开关电源基础知识(一)
    六个框架,一百多条检查项目,保证PCB设计不再出错
    开关电源PCB排版,基本要点分析
  • 原文地址:https://www.cnblogs.com/chuangqi/p/11261482.html
Copyright © 2011-2022 走看看