ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringDataJPA实现分页查询,并在前端展示

2021-02-04 20:33:15  阅读:273  来源: 互联网

标签:SpringDataJPA pageNum pageable Page 查询 public 分页 findAll Pageable


前端代码:

<div class="pagelist">
	<p>当前<span th:text="${students.getNumber()} + 1"></span>页,总<span th:text="${students.totalPages}"></span>页											                 共<span th:text="${students.totalElements}"></span>条记录
		<a th:href="@{/admin/listStudent}">首页</a>
		<a th:href="@{/admin/listStudent(pageNum = ${students.hasPrevious()} ? ${students.getNumber() } : 1)}">上一页</a>
		<a th:href="@{/admin/listStudent(pageNum = ${students.hasNext()} ? ${students.getNumber()} + 2 : ${students.totalPages})}">下一页</a>
		<a th:href="@{/admin/listStudent(pageNum = ${students.totalPages})}">尾页</a>
	</p>
</div>

dao 层接口:

public interface StudentDao extends JpaRepository<Student,Integer>, JpaSpecificationExecutor<Student> {
}

service层接口

Page<Student> findAll(Pageable pageable);

Service实现类

public Page<Student> findAll(Pageable pageable) {
	return studentDao.findAll(pageable);
}

controller 层:

@RequestMapping("/listStudent")
    public String listStudent(Model model, HttpServletResponse response, Integer pageNum) {
        //判断前端传递过来的pageNum是否为空
        if (pageNum == null){
            pageNum = 1;
        }
        //创建一个Pageable对象用于封装pageNUm和每页显示数据数量
        // (当前页, 每页记录数)
        Pageable pageable = PageRequest.of(pageNum - 1, ConstantUtil.PAGE_RECORD_NUM);
        //根据pageable对象查询当前登录用户的学生信息
        Page<Student> list = studentService.findAll(pageable);
        model.addAttribute("students", list);
        // 允许iframe
        response.addHeader("x-frame-options","SAMEORIGIN");
        return "/listStudent";
    }

标签:SpringDataJPA,pageNum,pageable,Page,查询,public,分页,findAll,Pageable
来源: https://blog.csdn.net/td725430/article/details/113663827

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有