問題代碼數據庫
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中線程
修改後的代碼以下code
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顯示字段get