建议使用方法为:Mapper接口方式的调用,但是必须紧跟.startPage()方法;
因为项目中是查询多次分页的结果后,需要对list进行分页,此种情况,结合PageInfo和Page进行手动分页,通过以下方法实现
public ServerResponse<PageInfo> getProList(Integer pageNum,Integer PageSize) {//startPage --start//填充自己的sql查询逻辑//pageHelper-收尾//startPageHelper.startPage(pageNum,PageSize);//用此方法 返回pageList<Product> list=new ArrayList<Product>();//查询逻辑list=productMapper.selectList();//输出的表里不需要这么多内容 只需要id name mainImage price status//所以我们创建一个ProductListVo//将list内的product 转换成ProductListVo对象 然后此对象组成List 用PageInfo处理得结果List<ProductListVo> productListVolist=new ArrayList<>();for(Product productItem:list){ProductListVo productListVo= assembleProductListVo(productItem);productListVolist.add(productListVo);}PageInfo pageResult=new PageInfo(list);//sql返回得集合自动进行分页处理//分页: 用PageInfo 会自动分页//给前端展示得不是将整个product给他,但是还要运用productList进行一个分页 所以将其List重置pageResult.setList(productListVolist);return ServerResponse.createBySuccess(pageResult); }