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()
,这样,我们就可以指定我们想要的查询分页了。如下图所示: