使用方法:
@Override public PageInfo<Person> getByPage(int currentPage, int pageSize, Map<String,Object> map) { PageHelper.startPage(currentPage,pageSize,true); List<Person> list = personMapper.getListByParamMap(map); PageInfo<Person> pageInfo = new PageInfo<>(list); return pageInfo; }
參數說明:
其中PageHelper.startPage(currentPage,pageSize,true);第一個參數表示從第幾頁開始,第二個參數表示一頁多少條記錄,第三個參數表示是否返回總的真實記錄數
注意:PageHelper.startPage(currentPage,pageSize,true);要緊接着查詢,否則可能不分頁
返回如下:
{ "endRow": 2, "hasNextPage": false, "hasPreviousPage": false, "isFirstPage": true, "isLastPage": true, "list": [{ "createdBy": "SYSTEM", "createdDate": 1575545371000, "password": "123", "updatedBy": "SYSTEM", "updatedDate": 1575545371000, "userId": 1, "userName": "wcc" }, { "createdBy": "SYSTEM", "createdDate": 1575545631000, "password": "123", "updatedBy": "SYSTEM", "updatedDate": 1575545631000, "userId": 2, "userName": "魏燦燦" }], "navigateFirstPage": 1, "navigateLastPage": 1, "navigatePages": 8, "navigatepageNums": [1], "nextPage": 0, "pageNum": 1, "pageSize": 1000, "pages": 1, "prePage": 0, "size": 2, "startRow": 1, "total": 2 }
另附上PageInfo參數說明:
//當前頁 private int pageNum; //每頁的數量 private int pageSize; //當前頁的數量 private int size; //由於startRow和endRow不常用,這里說個具體的用法 //可以在頁面中"顯示startRow到endRow 共size條數據" //當前頁面第一個元素在數據庫中的行號 private int startRow; //當前頁面最后一個元素在數據庫中的行號 private int endRow; //總記錄數 private long total; //總頁數 private int pages; //結果集 private List<T> list; //前一頁 private int prePage; //下一頁 private int nextPage; //是否為第一頁 private boolean isFirstPage = false; //是否為最后一頁 private boolean isLastPage = false; //是否有前一頁 private boolean hasPreviousPage = false; //是否有下一頁 private boolean hasNextPage = false; //導航頁碼數 private int navigatePages; //所有導航頁號 private int[] navigatepageNums; //導航條上的第一頁 private int navigateFirstPage; //導航條上的最后一頁 private int navigateLastPage;