關(guān)于pageHelper無法查到總數(shù)踩到的坑

問題代碼

PageHelper.startPage(pageNum,pageSize);
List<pojoVo> pojoVo=robotService.getPageList();
PageInfo pageResult = new PageInfo(pojoVo);

結(jié)果

pageResult.getTotal(); //結(jié)果為當(dāng)前頁數(shù)量或者沒有
pageResult.getPage(); //結(jié)果為1

經(jīng)過微信小伙伴ken提示;發(fā)現(xiàn)是VO拼接姿勢不對(duì)

pageHelper是多線程操作,通過new PageInfo()查詢出總條數(shù)和總頁數(shù);當(dāng)為new PageInfo(pojoVo)時(shí),是按照pojoVo去查詢,所以無法查pojo到數(shù)據(jù)庫中數(shù)據(jù)的總數(shù)的;需要先查出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()); //此處已經(jīng)查詢出總條數(shù)
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為實(shí)體類 pojoVo為拼接的Vo顯示字段

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容