一、数据分页
一、前端分页
<el-row>
<el-col :span="24">
<div class="pagination">
<el-pagination background @size-change="sizeChangeHandle" @current-change="currentChangeHandle"
:current-page="page.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="page.pageSize"
:total="page.totalPage" layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
</div>
</el-col>
</el-row>
export default {
data() {
return {
page: {
pageIndex: 1,
pageSize: 10,
totalPage: 0,
},
}
}
}
sizeChangeHandle(val) {
this.page.pageSize = val;
this.page.pageIndex = 1;
this.intDataList();
},
currentChangeHandle(val) {
this.page.pageIndex = val;
this.intDataList();
},
二、SpringBoot分页
public PageInfo initPageList(AdvancedSearchVO advancedSearchVO) {
PageHelper.startPage(advancedSearchVO.getPageNum(), advancedSearchVO.getPageSize());
List<ClmHospitalLccc> list = hospitalCodeUpholdMapper.initPageList();
PageInfo<ClmHospitalLccc> pageInfo = new PageInfo<>(list);
return pageInfo;
}
三、手动分页
@PostMapping(value = "/SelectClntnum")
public ObjectRestResponse SelectClntnum(String clntnum,String chdrnum,Integer pageNum,Integer pageSize) {
ObjectRestResponse res = new ObjectRestResponse();
try {
List<EUIS001VO> result = null;
result = insuranceRecordBiz.insuranceHistory(clntnum);
if(!StringUtils.isBlank(chdrnum)){
for(EUIS001VO euis001VO:result){
result = result.stream().filter(f -> f.getChdrnum().equals(chdrnum)).collect(Collectors.toList());
}
}
if (CollectionUtils.isEmpty(result)){
res.setResultCode(RestCodeConstants.EX_OTHER_CODE);
res.setResultMsg("查询记录失败");
return res;
}
int toltal = result.size();
List<EUIS001VO> resultPage = pageBySubList(result,pageSize,pageNum);
PageInfo<EUIS001VO> pageInfo = new PageInfo<>(resultPage);
setPageInfo(pageNum,pageSize,toltal,pageInfo);
res.setData(pageInfo);
} catch (RuntimeException e) {
res.setResultCode(RestCodeConstants.EX_OTHER_CODE);
res.setResultMsg(e.getMessage());
log.error("执行方法:查询记录:SelectClntnum时异常信息:{}", e);
}
return res;
}
public void setPageInfo(int pageNum, int pageSize, int toltal, PageInfo<EUIS001VO> defalut) {
defalut.setTotal(toltal);
defalut.setPageNum(pageNum);
defalut.setPageSize(pageSize);
defalut.setStartRow(1 + ((pageNum - 1) * pageSize));
defalut.setEndRow((pageNum == toltal / pageSize + 1) ? toltal : pageNum * pageSize);
defalut.setPages(toltal / pageSize + 1);
defalut.setPrePage((pageNum - 1) == -1 ? 0 : (pageNum - 1));
defalut.setNextPage(pageNum == toltal / pageSize + 1 ? 0 : pageNum + 1);
defalut.setIsFirstPage(pageNum == 1);
defalut.setIsLastPage(pageNum == toltal / pageSize + 1);
defalut.setHasPreviousPage(pageNum != 1);
defalut.setHasNextPage(pageNum != toltal / pageSize + 1);
}
public List<EUIS001VO> pageBySubList(List list, int pagesize, int currentPage) {
List<EUIS001VO> subList = new ArrayList<>();
if (list.size() == 0)
return subList;
int totalcount = list.size();
int pagecount = 0;
int m = totalcount % pagesize;
if (m > 0) {
pagecount = totalcount / pagesize + 1;
} else {
pagecount = totalcount / pagesize;
}
if (m == 0) {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
} else {
if (currentPage == pagecount) {
subList = list.subList((currentPage - 1) * pagesize, totalcount);
} else {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
}
}
return subList;
}