概述
一、星云2.0 PageListUtil
这个属于内存分页
内存分页:数据库查出所有再在内存(或者前端)进行分页
物理分页:数据库查出来就已经是分页好的了
1。使用
service
1.先正常查出集合
2.然后PageListUtil
//接口
Page<OrgDeptPageBO> selectDeptPageList(OrgDeptPageSearchBO orgDeptPageSearchBO, Pageable pageable);
//实现类
import org.springframework.data.domain.Pageable;
import com.nebula.microservice.operationmanage.utils.PageListUtil;
public Page<OrgStationPageDTO> selectStationPage(Pageable pageable) {
return PageListUtil.listConvertToPage(this.selectStationList(orgStationPageSearchDTO), pageable);
}
控制器
@PostMapping("/page")
public ResponseEntity<List<OrgDeptPageBO>> page(OrgDeptPageSearchBO orgDeptPageSearchBO, Pageable pageable) {
Page<OrgDeptPageBO> stationPage = orgDeptService.selectDeptPageList(orgDeptPageSearchBO, pageable,SecurityUtil.getOperatorId());
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add(CommonConstants.HEADER_TOTALSIZE, stationPage.getTotalElements() + "");
return new ResponseEntity<>(stationPage.getContent(), httpHeaders, HttpStatus.OK);
}
3.API调用传参
2。 PageListUtil源码
package com.nebula.microservice.operationmanage.utils;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import java.util.List;
public class PageListUtil {
public static <T> Page<T> listConvertToPage(List<T> list, Pageable pageable) {
int start = (int) pageable.getOffset();
int end = (start + pageable.getPageSize()) > list.size() ? list.size() : (start + pageable.getPageSize());
return new PageImpl<T>(list.subList(start, end), pageable, list.size());
}
}
二。星云陈LC com.github.pagehelper.PageInfo;
service
//接口
PageInfo<StationEvaluateVO> stationEvaluation(String stationId, PageInfo pageInfo);
//实现类
public PageInfo<StationEvaluateVO> stationEvaluation(String stationId, PageInfo pageInfo) {
return PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize()).doSelectPageInfo(() ->
homeStationRepository.stationEvaluationList(stationId)); //这句话正常查出集合
}
控制层
PageInfo<StationEvaluateVO> stationEvaluateVOPageInfo = homeStationService.stationEvaluation(stationId, pageInfo);
三、道通 mybatis-plus
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
一、直接分页查询
Page<OpLocationOperationEntity> searchPage= new Page<>(current, pageSize);
Page<OpLocationOperationEntity> resultPage = userMapper.selectPage(searchPage,QueryWrapper);
二、查出集合,然后将集合组装成一个分页对象
Page<GunListPageVO> resultPage = new Page<>(current, pageSize);
resultPage.setRecords(gunListPageVOList);
resultPage.setTotal(gunListPageVOList.size());
三、查出分页,然后将分页里面的记录组装成一个分页对象
1.查出分页
Page<OpLocationEvseEntity> searchPage = new Page<>(gunListPageDTO.getCurrent(), gunListPageDTO.getPageSize());
Page<OpLocationEvseEntity> evsePage = opLocationEvseMapper.selectPage(searchPage, opLocationEvseEntityQueryWrapper);
2、将分页里面的集合组装成新的对象集合
if (evsePage.getRecords().size() > 0) {
List<OpLocationEvseEntity> evseEntities = evsePage.getRecords();
List<GunListPageVO> gunListPageVOList = new ArrayList<>();
for (OpLocationEvseEntity opLocationEvseEntity : evseEntities) {
GunListPageVO gunListPageVO = new GunListPageVO();
gunListPageVOList.add(gunListPageVO);
}
}
}
//3、新的对象集合组成新的分页对象
Page<GunListPageVO> resultPage = new Page<>(gunListPageDTO.getCurrent(), gunListPageDTO.getPageSize());
resultPage.setRecords(gunListPageVOList);
resultPage.setTotal(evsePage.getTotal());
最后
以上就是美丽刺猬为你收集整理的分页 PageListUtil的全部内容,希望文章能够帮你解决分页 PageListUtil所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复