Pagehper与Mybatis的坑

使用PageHelper获取不到总数问题
使用PageHelper分页最好在service层需要分页的、查询数据库方法前后(步骤如下),中间不要有其他查询以及不能有一对多的联表查询,否则可能造成分页失效问题
第一步:设置分页数据startPage

Page page = PageHelper.startPage(dataTablesFrom.getPageNum(), dataTablesFrom.getPageSize());

    1

第二步:查询数据库

List<Object> list = selectAll();

    1

第三步:获取总条数
问题:使用page.total()获取总数为0
解决:使用PageInfo,分页信息包含在info里面

   if(!CollectionUtils.isEmpty(page.getResult())){
                page.getResult().clear();
                page.getResult().addAll(orderInfoList);
                PageInfo pageInfo=new PageInfo(page.getResult());
                return ResponseResult.success(pageInfo);
            }

pageInfo获取不到总数的原因是,他获取的总数一直是查询总数,并不是所有总数,Pagehper在设置        
Page<Map> page = PageHelper.startPage(pageNum, pageSize,true);时已经获取总数,需要把查询结果赋值给pageInfo
原文地址:https://www.cnblogs.com/wangbiaohistory/p/14560094.html