<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.8</version> </dependency>
※全域設定
<plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <property name="param1" value="value1" /> </plugin> </plugins>
※測試
/* Page<Object> page = PageHelper.startPage(2, 3); // 每頁三條記錄,顯示第二頁, List<Emp> emp = mapper.getEmp(); emp.stream().forEach(x -> System.out.println(x.getEname())); // SELECT * FROM ( SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM ( select * from emp ) TMP_PAGE) WHERE ROW_ID <= ? AND ROW_ID > ? System.out.println("當前頁:" + page.getPageNum()); // 2 System.out.println("每頁顯示幾條記錄:" + page.getPageSize()); // 3 System.out.println("總共幾筆記錄:" + page.getTotal()); System.out.println("總共有幾頁:" + page.getPages()); */ PageHelper.startPage(3, 5); List<Emp> emp = mapper.getEmp(); PageInfo<Emp> pageInfo = new PageInfo<>(emp); emp.stream().forEach(x -> System.out.println(x.getEname())); System.out.println("當前頁:" + pageInfo.getPageNum()); System.out.println("每頁顯示幾條記錄:" + pageInfo.getPageSize()); System.out.println("當前頁有幾條記錄(最後一頁時,可能和 PageSize()不同):" + pageInfo.getSize()); System.out.println("總共幾筆記錄:" + pageInfo.getTotal()); System.out.println("總共有幾頁:" + pageInfo.getPages()); System.out.println("當前頁的第一筆是全部記錄的第幾筆記錄:" + pageInfo.getStartRow()); System.out.println("當前頁的最後一筆是全部記錄的第幾筆記錄:" + pageInfo.getEndRow()); System.out.println("上一頁是第幾頁:" + pageInfo.getPrePage()); // 沒有上一頁顯示 0 System.out.println("下一頁是第幾頁:" + pageInfo.getNextPage()); // 沒有下一頁顯示 0 System.out.println("是否是第一頁:" + pageInfo.isIsFirstPage()); System.out.println("是否是最後一頁:" + pageInfo.isIsLastPage()); System.out.println("是否有上一頁:" + pageInfo.isHasPreviousPage()); System.out.println("是否有下一頁:" + pageInfo.isHasNextPage());
※PageHelper.startPage 必須寫在呼叫之前才有用
※PageInfo 如果沒有配合 PageHelper,那就是看 SQL 下什麼,回來就有幾筆
※看原始碼其實就有說明每一個欄位的作用了
沒有留言:
張貼留言