Springboot 使用 pagehelper 分页插件
第一步:使用 pagehelper 插件需要引入的jar包,笔者使用的是1.2.5版本
<!-- pagehelper 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>
第二步:编写一个默认的的基础类用来接收前端传过来的参数
@Data public abstract class SplitPageDTO { private Integer page = 1; private Integer pageSize = 10; private Boolean asc = false; }
第三步 使用
控制器中 FindProjectVo 继承了基础的 SplitPageDTO
@ApiOperation(value = "获取项目列表", nickname = "获取项目列表") @GetMapping("/getPrList") public CommonResult<PageUtil<ProjectInfoVo>> getPrList(FindProjectVo findProjectVO){ PageUtil<ProjectInfoVo> rs= projectService.getPrList(findProjectVO); return new CommonResult(true,"操作成功",rs); }
注意:PageHelper.startPage(需要显示的第几个页面,每个页面显示的数量)
PageInfo 包含了所有的页面数量等信息,可以参照自己的需求做修改,例如我的自己包装了下
@Override public PageUtil<ProjectInfoVo> getPrList(FindProjectVo findProjectVO) { PageUtil<ProjectInfoVo> prjectList = new PageUtil<ProjectInfoVo>(); try { PageHelper.startPage(findProjectVO.getPage(), findProjectVO.getPageSize()); List<ProjectInfoExtend> projectInfoList =projectInfoMapper.getPrjectList(findProjectVO); PageInfo<ProjectInfoExtend> projectInfo = new PageInfo<ProjectInfoExtend>(projectInfoList); List<ProjectInfoVo> pjInfoVo = new ArrayList<ProjectInfoVo>(); for(ProjectInfoExtend projectInfoExtend:projectInfoList) { ProjectInfoVo projectInfoVo = new ProjectInfoVo(); projectInfoVo.setId(projectInfoExtend.getId()); projectInfoVo.setBusinessRespName(projectInfoExtend.getBusinessrespname()); projectInfoVo.setCreateDate(projectInfoExtend.getCreatedate()); projectInfoVo.setCustomerName(projectInfoExtend.getCompanyname()); projectInfoVo.setDepartmentName(projectInfoExtend.getDepartmentname()); projectInfoVo.setPrName(projectInfoExtend.getPrname()); projectInfoVo.setProgress(projectInfoExtend.getProgress()); pjInfoVo.add(projectInfoVo); } prjectList.setPages(projectInfo.getPages()); prjectList.setCurrent(projectInfo.getPageNum()); prjectList.setRecords(pjInfoVo); prjectList.setSize(projectInfo.getPageSize()); prjectList.setTotal(projectInfo.getTotal()); } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage()); } return prjectList; }

浙公网安备 33010602011771号