问题代码数据库
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