簡單查詢的分頁
如果查詢結果為單表查詢,例如查詢用戶列表,則可以調用mybatis plus的自動生成的mapper中的selectPage()或者selectMapsPage()方法,
Page類的構造函數中第一個參數為當前查詢第幾頁,第二個參數為每頁的記錄數。

復雜查詢的分頁
若查詢結果是關聯多個表的操作,則需要用到自定義的mapper,此時的分頁操作也很簡單,只需要給mapper的第一個參數設置為Page對象即可,
例如Guns中LogController中的查詢操作日志列表,用的就是復雜查詢的分頁,我們可以看到在mybatis接口的第一個參數中,傳遞了Page對象,
當mybatis執行此方法的時候,會被mybatis-plus的分頁插件自動攔截到,並且把分頁查詢的結果返回到這個Page對象中!
如下:
獲取前端表格插件傳值
前端表格用的Layui Table插件(https://www.layui.com/doc/modules/table.html),在前端執行查詢時,插件會自動往后台傳遞分頁參數,並且默認的格式如下,

Layui Table會傳遞page(第幾頁),limit(每頁條數)這兩個參數,與之對應,后台封裝了一個通用的接受分頁參數的類LayuiPageFactory,
從而不用每次都來request.getParameter()這樣接收參數,如下所示,
public class LayuiPageFactory {
public static Page defaultPage() {
HttpServletRequest request = HttpContext.getRequest();
//每頁多少條數據
int limit = Integer.valueOf(request.getParameter("limit"));
//第幾頁
int page = Integer.valueOf(request.getParameter("page"));
return new Page(page, limit);
}
public static LayuiPageInfo createPageInfo(IPage page) {
LayuiPageInfo result = new LayuiPageInfo();
result.setCount(page.getTotal());
result.setData(page.getRecords());
return result;
}
}
在后台代碼中如需接收參數,構建分頁Page對象的時候,只需如下這樣一調用即可構建分頁對象
Page page = LayuiPageFactory.defaultPage();
