sssp整合&分页之分页操作

本文介绍了一种基于Spring框架的简单分页查询实现方法。主要包括Dao层利用PagingAndSortingRepository进行分页查询,Service层封装Pageable对象,以及Controller层处理页面请求并转发结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人是职场新手,想用记录博客的方式给自己的学习之路做点笔记,若有不对还望指正!

分页操作

•      Dao 层:

不带查询查询条件的分页,所以可以直接调用 PagingAndSortingRepository# findAll(Pageable pageable) 返回 Page 对象。

•      Service 层:

–     没有业务逻辑

–     把 Controller 传入的 pageNo 和 pageSize 封装为 Pageable 对象。注意:Pageable 的 pageNo 是从 0 开始的

–     调用 Dao 层的方法即可。

•      Controller 层

–     获取 pageNo,并对 pageNo 进行校验

–     调用 Service 方法返回 Page 对象

–     把 Page 对象放入到 request 中

–     转发页面

JSP 页面:使用 JSTL 来显示页面

Tips:传过来的pageNum用String形式接受,可以避免在传过来的pageNum不是常规数字的时候程序不至于死掉

@Transactional(readOnly=true)
public Page<Employee> getPage(int pageNo, int pageSize){
	PageRequest pageable = new PageRequest(pageNo - 1, pageSize);
	return employeeRepository.findAll(pageable);
}


@RequestMapping("/emps")
public String list(@RequestParam(value="pageNo", required=false, defaultValue="1") String pageNoStr, 
			Map<String, Object> map){
	int pageNo = 1;
		
	try {
		//对 pageNo 的校验
		pageNo = Integer.parseInt(pageNoStr);
		if(pageNo < 1){
			pageNo = 1;
		}
	} catch (Exception e) {}
		
	Page<Employee> page = employeeService.getPage(pageNo, 5);
	map.put("page", page);
		
	return "emp/list";
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值