pageHelper(分頁插件的使用)


1.分頁概述:
  1.1.為什么要分頁?
    1.1.1.為了提高查詢效率
    1.1.2.為了方便查看數據

1.2.分頁的三個必要條件:
  當前頁:由使用者提供
  每一頁顯示大小:由使用者提供
  總記錄數:從數據庫表統計

2.PageHelper概述
  2.1.PageHelper使用步驟:
    2.2.1.配置pom.xml,導入依賴包(官方推薦使用最新版本)
    2.2.2.在sqlMapConfig.xml配置插件
    2.2.3.在目標方法前,調用PageHelper.startPage(當前頁,頁面大小)
PageInfo

PageHelper介紹

PageHelper是國內非常優秀的一款開源的mybatis分頁插件, 它支持主流的常用數據庫, 例如mysql、 oracle、 mariaDB、 DB2、 SQLite、 Hsqldb等。

使用步驟

<!--pageHelper版本-->
<page.version>5.1.4</page.version>

<!--分頁插件依賴-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>${page.version}</version>
</dependency>

在sqlMapConfig.xml

<!--配置插件-->
<plugins>
<!-- com.github.pagehelper為PageHelper類所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 配置相關參數,通常情況使用默認值即可,不需要配置-->
<!--配置指定當前使用的數據庫-->
<property name="helperDialect"value="mysql"/>
</plugin>
</plugins>

測試代碼

 1 /**
 2      * 2.分頁測試
 3      */
 4 @Test
 5 public void pageQueryTest(){
 6 // 1.獲取SqlSessionFactory
 7 SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtil.getSqlSessionFactory();
 8 
 9 // 2.創建sqlSession對象
10 SqlSession sqlSession = sqlSessionFactory.openSession();
11 
12 // 3.獲取接口的代理對象
13 UserMapper mapper = sqlSession.getMapper(UserMapper.class);
14 
15 // 4.執行數據庫操作
16         // 創建pojo包裝類型
17 QueryVo queryVo = new QueryVo();
18 
19 // 創建用戶對象
20 User user = new User();
21         user.setUsername("");
22 
23 // 包裝用戶
24 queryVo.setUser(user);
25 
26 // 設置分頁
27         /**
28          * 設置分頁參數方法:startPage()。
29          * 參數:
30          *      參數一:當前頁
31          *      參數二:每一頁顯示大小
32          *
33          *  細節:
34          *      該方法要在目標操作前設置
35          */
36 PageHelper.startPage(1, 2);// 查詢第一頁,每一頁顯示2條記錄
37 
38         // 目標操作:查詢用戶數據
39 List<User> list = mapper.queryUserByQueryVo(queryVo);
40 
41 /**
42          * 封裝分頁結果數據:PageInfo
43          */
44 PageInfo<User> pageInfo = new PageInfo<User>(list);
45 
46 /**
47          * 打印結果
48          */
49 System.out.println("上一頁:"+pageInfo.getPrePage());
50         System.out.println("當前頁:"+pageInfo.getPageNum());
51         System.out.println("下一頁:"+pageInfo.getNextPage());
52 
53         System.out.println("每一頁頁顯示大小:"+pageInfo.getPageSize());
54         System.out.println("總記錄數:"+pageInfo.getTotal());
55         System.out.println("頁數:"+pageInfo.getPages());
56 
57 // 獲取頁號:1 2 3 4 5 6
58 int[] nums = pageInfo.getNavigatepageNums();
59         System.out.print("頁號:");
60 for(int i=0;i<nums.length;i++){
61             System.out.print(nums[i]+",");
62         }
63         System.out.println();
64 
65 // 獲取結果集
66 System.out.println("結果集數據:");
67         List<User> pageList = pageInfo.getList();
68 for(User u:pageList){
69             System.out.println(u);
70         }
71 
72 // 5.釋放資源
73 sqlSession.close();
74     }
75 
76 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM