Service层有多个查询,若依分页失灵?教你如何解决!
情景一:当Service层只有一个查询时,若需要分页,只需要在Controller层做以下操作:
添加继承BaseController中的startPage()和getDataTable()即可。
public TableDataInfo list()
{
startPage();
List<BloodStorage> list = bloodStorageService.selectBloodList();
return getDataTable(list);
}
情景二:
①当Service层中有多个查询时,这时按照以上操作,就会出错,因为startPage()只对第一个查询有效,第二个查询无效,如下图:

这时候,我们需要对第二个查询分页该怎么做呢?
通过BaseController中的startPage()方法,找到PageUtils对startPage()方法的处理,如下图:

③解决方法:我们可以在Service层中,我们需要分页的查询上直接调用PageUtils.startPage(),这样,我们就可以指定我们想要的查询分页了。如下图所示:
