在项目中我们有时候会在控制层开启分页:
情景一:当Service
层只有一个查询时,若需要分页,只需要在Controller层做以下操作:
添加继承BaseController
中的startPage()
和getDataTable()
即可。
但是当我们我们的Service中有多个查询时会发现分页失效:
因为startPage()
只对第一个查询有效,第二个查询无效,如下图:
这时候,我们需要对第二个查询分页该怎么做呢?
通过BaseController
中的startPage()
方法,如下图:
开启分页类:
③解决方法:我们可以在Service
层中,我们需要分页的查询上直接调用PageUtils.startPage()
,这样,我们就可以指定我们想要的查询分页了。如下图所示:
PageDomain pageDomain = TableSupport.getPageDomain(); PageHelper.startPage(pageDomain.getPageNum(), pageDomain.getPageSize(), pageDomain.getOrderBy());