版权声明:望支持~~~ https://blog.csdn.net/u011663149/article/details/85300214
之前的csdn找不回来了,决定重新注册一个。望支持~~~
之前有个新同学问我mongo分页的问题,分享一下。
一如既往,不多BB。直接搂代码:
@Override public List<T> find(Query query, Class<T> clazz) { return mongoTemplate.find(query, clazz); } @Override public List<T> find(Query query, Class<T> clazz, String collectionName) { return mongoTemplate.find(query, clazz, collectionName); }
/** * 通过条件查询,查询分页结果 * * @param paging 分页信息 * @param query 查询条件 * @param clazz clazz * @return 分页数据 */ @Override public Paging<T> getPage(Paging<T> paging, Query query, Class<T> clazz) { //查询总条数 long totalCount = this.mongoTemplate.count(query, clazz); //设置总条数 paging.setTotalCount(totalCount); //skip相当于从那条记录开始 query.skip(paging.getFirstResult()); //从skip开始,取多少条记录 query.limit(paging.getPageSize()); List<T> list = this.find(query, clazz); paging.setData(list); return paging; }
/** * 通过条件查询,查询分页结果 * * @param paging 分页信息 * @param query 查询条件 * @param clazz clazz * @param collectionName 集合名称 * @return 分页数据 */ @Override public Paging<T> getPage(Paging<T> paging, Query query, Class<T> clazz, String collectionName) { //查询总条数 long totalCount = this.mongoTemplate.count(query, clazz, collectionName); //设置总条数 paging.setTotalCount(totalCount); //skip相当于从那条记录开始 query.skip(paging.getFirstResult()); //从skip开始,取多少条记录 query.limit(paging.getPageSize()); List<T> list = this.find(query, clazz, collectionName); paging.setData(list); return paging; }
这里采用的MongoTemplate进行客户端连接~~~
之前的csdn找不回来了,决定重新注册一个。望支持~~~
文章来源: 分享一个MongoDB分页查询