首页创建分页类
Pagination.java
package com.mkfree.framework.common.page;import java.util.List;/**
* 分页数据类
*
* @author hk
*
* 2012-10-26 下午8:23:15
*/publicclassPagination{/**
* 一页数据默认20条
*/privateint pageSize =20;/**
* 当前页码
*/privateint pageNo;/**
* 上一页
*/privateint upPage;/**
* 下一页
*/privateint nextPage;/**
* 一共有多少条数据
*/privatelong totalCount;/**
* 一共有多少页
*/privateint totalPage;/**
* 数据集合
*/privateListdatas;/**
* 分页的url
*/privateString pageUrl;/**
* 获取第一条记录位置
*
* @return
*/publicint getFirstResult(){return(this.getPageNo()-1)*this.getPageSize();}/**
* 获取最后记录位置
*
* @return
*/publicint getLastResult(){returnthis.getPageNo()*this.getPageSize();}/**
* 计算一共多少页
*/publicvoid setTotalPage(){this.totalPage =(int)((this.totalCount %this.pageSize >0)?(this.totalCount /this.pageSize +1):this.totalCount /this.pageSize);}/**
* 设置 上一页
*/publicvoid setUpPage(){this.upPage =(this.pageNo >1)?this.pageNo -1:this.pageNo;}/**
* 设置下一页
*/publicvoid setNextPage(){this.nextPage =(this.pageNo ==this.totalPage)?this.pageNo :this.pageNo +1;}publicint getNextPage(){return nextPage;}publicint getTotalPage(){return totalPage;}publicint getUpPage(){return upPage;}publicint getPageSize(){return pageSize;}publicvoid setPageSize(int pageSize){this.pageSize = pageSize;}publicint getPageNo(){return pageNo;}publicvoid setPageNo(int pageNo){this.pageNo = pageNo;}publiclong getTotalCount(){return totalCount;}publicvoid setTotalCount(long totalCount2){this.totalCount = totalCount2;}publicListgetDatas(){return datas;}publicvoid setDatas(Listdatas){this.datas = datas;}publicString getPageUrl(){return pageUrl;}publicvoid setPageUrl(String pageUrl){this.pageUrl = pageUrl;}publicPagination(int pageNo,int pageSize,long totalCount2){this.setPageNo(pageNo);this.setPageSize(pageSize);this.setTotalCount(totalCount2);this.init();}/**
* 初始化计算分页
*/privatevoid init(){this.setTotalPage();// 设置一共页数this.setUpPage();// 设置上一页this.setNextPage();// 设置下一页}}
然后,我们看回
MongodbBaseDao.java 添加了以下分页的代码
package com.mkfree.framework.common.mongodb;import java.util.List;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.core.query.Query;import org.springframework.data.mongodb.core.query.Update;import com.mkfree.framework.common.page.Pagination;/**
* mongodb 基础操作类
*
* @author oyhk
*
* 2013-1-22下午5:28:26
*/publicabstractclassMongodbBaseDao{/**
* 通过条件查询,查询分页结果
*
* @param pageNo
* @param pageSize
* @param query
* @return
*/publicPaginationgetPage(int pageNo,int pageSize,Query query){long totalCount =this.mongoTemplate.count(query,this.getEntityClass());Paginationpage=newPagination(pageNo, pageSize, totalCount);
query.skip(page.getFirstResult());// skip相当于从那条记录开始
query.limit(pageSize);// 从skip开始,取多少条记录Listdatas=this.find(query);
page.setDatas(datas);return page;}//.......其他代码,请下载源代码吧}
come from internet
源碼見附件
相关推荐
skip随着数据量上去,分页性能极具下降,不推荐。这里使用spring-data-mongo实现的分页,并且实现了mongodb自增id(监听器方式)、也集成了轻量级插件MongodbPlugin,有需要的可以下载看看哦~
mongodb版本号3.2,需手动开启http服务,启动时使用命令 ./mongod --httpinterface 新增 修改 删除 查询 排序 分页 可查看: https://blog.csdn.net/m0_37132783/article/details/96992439
ElasticSearch(`基本操作和高级查询`)、Async(`异步任务`)、集成Dubbo(`采用官方的starter`)、MongoDB(`文档数据库`)、neo4j(`图数据库`)、docker(`容器化`)、`JPA多数据源`、`Mybatis多数据源`、`代码生成器`、Gray...
spring-dubbo-service微服务一,服务模块1,服务器配置:servlet,侦听器,拦截器,过滤器,aop,定时任务mybatis配置集成,多数据源;级联查询一对一对一对多注解配置及xml配置方式;分页处理:传递Page参数或继承...
服务端50%以上的功能只需要写SQL或者 mongodb原始执行脚本就能完成开发,另外30%也在不停的完善公共组件,比如文件上传,下载,导出,预览,分页等等通过一二行代码也能完成开发,剩下的20%也能依赖于动态编译技术...
ElasticSearch(基本操作和高级查询)、Async(异步任务)、集成Dubbo(采用官方的starter)、MongoDB(文档数据库)、neo4j(图数据库)、docker(容器化)、JPA多数据源、Mybatis多数据源、代码生成器、GrayLog(日志收集)、...
它是居于Spring容器之上,封装了DAO(含Hibernate和MongoDB)操作、多模块统一管理、统一配置管理、统一日志管理等优雅的工程管理开发模型,并提供大量工具包、Json操作、分页辅助工具。 开发工具在软件开发生命...
java简易版开心农场源码 使用文档(完善进度70%,可以预览) QQ交流群:531812227 ...普通spring项目集成 <!-- sqltoy --> <groupId>com.sagframe</groupId> <artifactId>sagacity-sqltoy</
“ Rocket-API”基于spring boot的API敏捷开发框架,服务端50%以上的功能只需要写SQL或mongodb原始执行脚本即可完成开发,另外30%同时不停的完善公共组件,此类文件上传,下载,生成,预览,分页等等通过一二行...
│ 第127节:MongoDB和Spring.avi │ 第128节:应用建议及最佳实践.avi │ 第129节:MongoDB结合应用开发一.avi │ 第130节:MongoDB结合应用开发二.avi │ 第131节:应用MongoDB后体系结构.avi │ 第132节:...