問題代碼
PageHelper.startPage(pageNum,pageSize);
List<pojoVo> pojoVo=robotService.getPageList();
PageInfo pageResult = new PageInfo(pojoVo);
結果
pageResult.getTotal(); //結果爲當前頁數量或者沒有
pageResult.getPage(); //結果爲1
經過微信小夥伴ken提示;發現是VO拼接姿勢不對
pageHelper是多線程操作,通過new PageInfo()查詢出總條數和總頁數;當爲new PageInfo(pojoVo)時,是按照pojoVo去查詢,所以無法查pojo到數據庫中數據的總數的;需要先查出pojoList,然後拼接到Vo裏面,在set到pageInfo中
修改後的代碼如下
public CommonReturnType getList(Model model,@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
@RequestParam(value = "pageSize",defaultValue = "5")Integer pageSize){
PageHelper.startPage(pageNum,pageSize);
List<Pojo> pojoList=pojoService.getPageList();
PageInfo pageResult = new PageInfo(pojoList);
List<PojoVo> voList=new ArrayList<>();
for(Pojo item:pojoList){
PojoVo pojoVo=assembleRobotListVo(item);
voList.add(pojoVo);
}
//這一步記得添加
pageResult.setList(voList);
System.out.println(pageResult.getTotal()); //此處已經查詢出總條數
System.out.println(pageResult.getPages());
System.out.println(pageResult.getSize());
return CommonReturnType.success(pageResult );
}
//拼接vo
private PojoVo assembleRobotListVo(Pojo pojo){
PojoVo pojoVo=new PojoVo ();
pojoVo.setId(pojo.getId());
pojoVo.setMac(pojo.getMac());
pojoVo.setName(pojo.getName());
return pojoVo;
}
備註: pojo爲實體類 pojoVo爲拼接的Vo顯示字段