Mybatis的分頁插件PageHelper的使用及支持的數據庫

1、Mybatis框架的分頁插件PageHelper,目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數據庫分頁mysql

他的使用很是簡單,簡要步驟以下:git

第一步:添加jar到工程中github

<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>4.0.0</version>
</dependency>

第二步:在**SqlMapConfig.xml****,配置一個plugin,**以下 :sql

<plugins>
    <!-- com.github.pagehelper爲PageHelper類所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageHelper">
        <property name="dialect" value="mysql"/>
        <!-- 該參數默認爲false -->
        <!-- 設置爲true時,會將RowBounds第一個參數offset當成pageNum頁碼使用 -->
        <!-- 和startPage中的pageNum效果同樣-->
        <property name="offsetAsPageNum" value="true"/>
        <!-- 該參數默認爲false -->
        <!-- 設置爲true時,使用RowBounds分頁會進行count查詢 -->
        <property name="rowBoundsWithCount" value="true"/>
        <!-- 設置爲true時,若是pageSize=0或者RowBounds.limit = 0就會查詢出所有的結果 -->
        <!-- (至關於沒有執行分頁查詢,可是返回結果仍然是Page類型)-->
        <property name="pageSizeZero" value="true"/>
        <!-- 3.3.0版本可用 - 分頁參數合理化,默認false禁用 -->
        <!-- 啓用合理化時,若是pageNum<1會查詢第一頁,若是pageNum>pages會查詢最後一頁 -->
        <!-- 禁用合理化時,若是pageNum<1或pageNum>pages會返回空數據 -->
        <property name="reasonable" value="false"/>
        <!-- 3.5.0版本可用 - 爲了支持startPage(Object params)方法 -->
        <!-- 增長了一個`params`參數來配置參數映射,用於從Map或ServletRequest中取值 -->
        <!-- 能夠配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默認值 -->
        <!-- 不理解該含義的前提下,不要隨便複製該配置 -->
        <property name="params" value="pageNum=start;pageSize=limit;"/>
        <!-- always老是返回PageInfo類型,check檢查返回類型是否爲PageInfo,none返回Page -->
        <property name="returnPageInfo" value="check"/>
    </plugin>
</plugins>

第三步:在sql語句執行以前,添加一個PageHelper.startPage(page,rows)數據庫

pageNo = pageNo == null?1:pageNo;
pageSize = pageSize == null?10:pageSize;
PageHelper.startPage(pageNo, pageSize);//關鍵步驟
List<OrderListDto> list =  orderListlDao.queryOrderList(map);
第四步: 取分頁結果 。建立一個 PageInfo 對象, 須要的參數 : 查詢結果返回的 list 。從 PageInfo 中取出分頁結果
//用PageInfo對結果進行包裝
 PageInfo<OrderListDto> page = new PageInfo<OrderListDto>(list);

完畢框架

相關文章
相關標籤/搜索