分页方法的分装

本文主要探讨在数据库操作中如何进行有效的分页查询方法封装,包括关键步骤和优化策略,旨在提高数据检索效率并降低内存负担。

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

遇到到很多分装方法,感觉这个是必须要有的就写一下

public void getPageBefore(PaginationUtil paginationUtil,List<?> list,HttpServletRequest request){
	int pageSize =  Integer.parseInt(request.getParameter("pageSize"));
	int pageNo = Integer.parseInt(request.getParameter("pageNo"));
	int starNum = 0;
	if(pageNo == 1){
		starNum = 0;
	}else{
		starNum = (pageNo-1)*pageSize;
	}
	int endNum = pageNo*pageSize;
	int i = 0;
    Page<Object> p = new Page<Object>();
    if(list.size()>0){
		for(Object object : list){
			i++;
			if(i>starNum && i<=endNum){
				p.add(object);
			}	
		}
    }
    p.setPageSize(pageSize);
    p.setTotal(list.size());
	paginationUtil.after(p);
	paginationUtil.setPageNo(pageNo);
} 

/*************************************************************************/

是从前端取到的当前页码:pageNo,
其他的都可以根据字面意思理解

分页和你查询出的数据

传递给页面 
  PaginationUtil paginationUtil = new PaginationUtil();
		paginationUtil.before(request);
		List<DocumentTemplate> list = documentTemplateSevice.searchTemplateByIdAndName(new ArrayList<String>(setList),docName,projectId);
		paginationUtil.after(list);
		pageUtils.getPageBefore(paginationUtil, list, request);
		return paginationUtil;

其中:一定要有域,不然可能会取不到你传递的当前页面,查询会出现问题
一定要注意这一句:pageUtils.getPageBefore(paginationUtil, list, request);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值