分页查询示例
入参:
@DatapublicclassIndividualInvoiceRequest{/** * 当前查询页 */privateIntegerpageNum;/** * 每页要查询数量 */privateIntegerpageSize;//其他参数//......}响应:
@DatapublicclassInvoiceCloudBodydata{/** * 总条数 */privateinttotal;/** * 当前页 */privateintpageNum;/** * 当前返回的条数 */privateintpageSize;/** * 列表数据 */privateList<SaleInvoiceResp>list;}示例:
分页查询 indivadualInvoiceList 接口数据,每页20条,最终结果加入 result
,下面代码先查询一次获得总的条数,然后计算总的要查询的次数,再从第2页开始查起:
publicList<SaleInvoiceResp>listIndividualInvoice(IndividualInvoiceRequestrequest){List<SaleInvoiceResp>result=newArrayList<>();//每页查询数量intpageSize=20;request.setPageNum(1);request.setpageSize(pageSize);try{//先查询一次 indivadualInvoiceList 接口InvoiceCloudBodydataresponse=interClient.indivadualInvoiceList(request);if(Objects.nonNull(response)&&!CollectionUtils.isEmpty(response.getList())){//接口返回的总条数inttotal=response.getTotal();//结果加入resultresult.addAll(response.getList());//根据 total 和 pageSize计算总的要查询几次,向上取整intqueryTimes=(int)Math.ceil((double)total/pageSize);//从第2页开始查询for(intcurrentPageNum=2;currentPageNum<=queryTimes;currentPageNum++){//修改请求里的当前页request.setPageNum(currentPageNum);//查询InvoiceCloudBodydataresponseTemp=interClient.indivadualInvoiceList(request);if(Objects.nonNull(responseTemp)&&!CollectionUtils.isEmpty(responseTemp.getList())){//结果加入resultresult.addAll(responseTemp.getList());}}}}catch(Exceptione){thrownewBusinessException("查询异常");}returnresult;}如果你能够查询到或者知道你总的要查询的数量,你可以计算出总的查询次数,然后从第一页开始查询:
publicList<SaleInvoiceResp>listIndividualInvoice(IndividualInvoiceRequestrequest){List<SaleInvoiceResp>result=newArrayList<>();//每页查询数量intpageSize=20;request.setPageNum(1);request.setpageSize(pageSize);try{//从数据库或者其他地方查询到的总数据量inttotal=10000;//根据 total 和 pageSize 计算总的要查询几次intqueryTimes=(total+pageSize-1)/pageSize//从第1页开始查询for(intcurrentPageNum=1;currentPageNum<=queryTimes;currentPageNum++){//修改请求里的当前页request.setPageNum(currentPageNum);//查询InvoiceCloudBodydataresponseTemp=interClient.indivadualInvoiceList(request);if(Objects.nonNull(responseTemp)&&!CollectionUtils.isEmpty(responseTemp.getList())){//结果加入resultresult.addAll(responseTemp.getList());}}}catch(Exceptione){thrownewBusinessException("查询异常");}returnresult;}