1.下載所需要的jar包,如果使用maven可以在maven中添加依賴;
插件的實現原理:

如果你想使用本項目的jar包而不是直接引入類,你可以在這里下載各個版本的jar包(點擊Download下的jar即可下載)
由於使用了sql解析工具,你還需要下載這個文件(這個文件完全獨立,不依賴其他):
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.9.1</version>
</dependency>
2、在mybatis的SqlMapConfig.xml中配置攔截器插件
<plugins>
<!-- com.github.pagehelper為PageHelper類所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
</pulgin>
</plugins>
3、在執行查詢的sql語句錢加一句話:
PageHelper.startPage(page,rows);
page是查詢的哪一頁,rows是該頁顯示的記錄條數。
4、取出查詢的總記錄數
利用PageInfo類。
PageInfo<> pageInfo=new PageInfo<>(list);
這里的list是通過數據庫查詢出來的結果集,在PageInfo中封裝,通過pageInfo.getTotal()獲取總的記錄數量。
其中分頁插件總共5個java類:
分頁插件項目中的正式代碼一共有個5個Java文件,這5個文件的說明如下:
- Page<E>[必須]:分頁參數類,該類繼承ArrayList,雖然分頁查詢返回的結果實際類型是Page<E>,但是可以完全不出現所有的代碼中,可以直接當成List使用。返回值不建議使用Page,建議仍然用List。如果需要用到分頁信息,使用下面的PageInfo類對List進行包裝即可。
- PageHelper[必須]:分頁插件攔截器類,對Mybatis的攔截在這個類中實現。
- PageInfo[可選]:Page<E>的包裝類,包含了全面的分頁屬性信息。
- SqlParser[可選]:提供高效的count查詢sql。主要是智能替換原sql語句為count(*),去除不帶參數的order by語句。需要jsqlparser-0.9.1.jar支持。
- SqlUtil[必須]:分頁插件工具類,分頁插件邏輯類,分頁插件的主要實現方法都在這個類中。
