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);
完畢框架