本文轉載至:http://blog.csdn.net/congcong68/article/details/47624221
一.簡介
SpringData MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate對MongoDB的find的操作,我們上一篇介紹了基本文檔的查詢,我們今天介紹分頁查詢,分頁查詢是返回到匹配文檔的遊標,可以隨意修改查詢限制、跳躍、和排序次序的功能。
我們在查詢時find()方法接受Query類型有org.springframework.data.mongodb.core.query和org.springframework.data.mongodb.core.query.BasicQuery
Query類提供方法有limit、skip、sort查詢限制、跳躍、和排序次序的功能,BasicQuery繼承了Query類。
Query |
Mongodb |
說明 |
Query limit (int limit) |
limit |
方法是限制遊標返回結果的數量 |
Query skip (int skip) |
skip |
方法可以跳過指定值的條數,返回剩下的條數的結果,可以跟limit()方法進行組合可以實現分頁的效果 |
Sort sort () 已淘汰 現在是用query.with(sort) |
sort |
方法來對資料進行排序,根據指定的欄位,並使用1或-1來指定排序方式是升序或降序,類似於SQL的order by。 |
二.基本分頁
Query類提供方法有limit、skip、sort查詢限制、跳躍、和排序次序的功能,我們實現Query查詢分頁
第一步:實現分頁工具類
[java] view plain copy /** * 分頁 * @author zhengcy * * @param<T> */ public classPageModel<T>{ //結果集 privateList<T> datas; //查詢記錄數 privateintrowCount; //每頁多少條資料 privateintpageSize=20; //第幾頁 privateintpageNo=1; //跳過幾條數 privateintskip=0; /** * 總頁數 * @return */ publicintgetTotalPages(){ return(rowCount+pageSize-1)/pageSize; } public List<T>getDatas() { return datas; } public void setDatas(List<T>datas) { this.datas = datas; } public int getRowCount() { return rowCount; } public void setRowCount(int rowCount) { this.rowCount = rowCount; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; }