问题
在使用PageHelper进行分页时,对查询的数据进行了分页,但是将查询数据重新封装到另一个指定类的List集合后,将数据放到PageInfo返回就出现了分页失效的问题。代码如下:
原因
PageHelper中的startPage只对后一个查询语句有效,因此你查询了多少条,后面就封装多少条返回,但是分页数据是没有返回到的。
解决
//分页
PageInfo<Question> source = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> questionMapper.selectByExample(example));
PageInfo<QuestionVo> pageInfo = new PageInfo<QuestionVo>();
//分页数据一起拷贝
BeanUtils.copyProperties(source,pageInfo);
List<Question> questions = source.getList().stream().collect(Collectors.toList());
List<QuestionVo> questionVos = new ArrayList<>();