spring MongoDB 集成(分页)
oyhk 学习笔记
spring MongoDB 集成(分页),这次的分页功能.是在spring MongoDB 集成crud操作(简单封装)基础上添加的,希望对操作spring mongodb 集成的朋友们有所帮助,那么,直接看代码吧..
首页创建分页类
Pagination.java
- package com.mkfree.framework.common.page;
- import java.util.List;
- /**
- * 分页数据类
- *
- * @author hk
- *
- * 2012-10-26 下午8:23:15
- */
- public class Pagination{
- /**
- * 一页数据默认20条
- */
- private int pageSize = 20;
- /**
- * 当前页码
- */
- private int pageNo;
- /**
- * 上一页
- */
- private int upPage;
- /**
- * 下一页
- */
- private int nextPage;
- /**
- * 一共有多少条数据
- */
- private long totalCount;
- /**
- * 一共有多少页
- */
- private int totalPage;
- /**
- * 数据集合
- */
- private Listdatas;
- /**
- * 分页的url
- */
- private String pageUrl;
- /**
- * 获取第一条记录位置
- *
- * @return
- */
- public int getFirstResult() {
- return (this.getPageNo() - 1) * this.getPageSize();
- }
- /**
- * 获取最后记录位置
- *
- * @return
- */
- public int getLastResult() {
- return this.getPageNo() * this.getPageSize();
- }
- /**
- * 计算一共多少页
- */
- public void setTotalPage() {
- this.totalPage = (int) ((this.totalCount % this.pageSize > 0) ? (this.totalCount / this.pageSize + 1)
- : this.totalCount / this.pageSize);
- }
- /**
- * 设置 上一页
- */
- public void setUpPage() {
- this.upPage = (this.pageNo > 1) ? this.pageNo - 1 : this.pageNo;
- }
- /**
- * 设置下一页
- */
- public void setNextPage() {
- this.nextPage = (this.pageNo == this.totalPage) ? this.pageNo : this.pageNo + 1;
- }
- public int getNextPage() {
- return nextPage;
- }
- public int getTotalPage() {
- return totalPage;
- }
- public int getUpPage() {
- return upPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public int getPageNo() {
- return pageNo;
- }
- public void setPageNo(int pageNo) {
- this.pageNo = pageNo;
- }
- public long getTotalCount() {
- return totalCount;
- }
- public void setTotalCount(long totalCount2) {
- this.totalCount = totalCount2;
- }
- public ListgetDatas() {
- return datas;
- }
- public void setDatas(Listdatas) {
- this.datas = datas;
- }
- public String getPageUrl() {
- return pageUrl;
- }
- public void setPageUrl(String pageUrl) {
- this.pageUrl = pageUrl;
- }
- public Pagination(int pageNo, int pageSize, long totalCount2) {
- this.setPageNo(pageNo);
- this.setPageSize(pageSize);
- this.setTotalCount(totalCount2);
- this.init();
- }
- /**
- * 初始化计算分页
- */
- private void init() {
- this.setTotalPage();// 设置一共页数
- this.setUpPage();// 设置上一页
- this.setNextPage();// 设置下一页
- }
- }
package com.mkfree.framework.common.page;import java.util.List;/*** 分页数据类* * @author hk* * 2012-10-26 下午8:23:15*/
public class Pagination{/*** 一页数据默认20条*/private int pageSize = 20;/*** 当前页码*/private int pageNo;/*** 上一页*/private int upPage;/*** 下一页*/private int nextPage;/*** 一共有多少条数据*/private long totalCount;/*** 一共有多少页*/private int totalPage;/*** 数据集合*/private Listdatas;/*** 分页的url*/private String pageUrl;/*** 获取第一条记录位置* * @return*/public int getFirstResult() {return (this.getPageNo() - 1) * this.getPageSize();}/*** 获取最后记录位置* * @return*/public int getLastResult() {return this.getPageNo() * this.getPageSize();}/*** 计算一共多少页*/public void setTotalPage() {this.totalPage = (int) ((this.totalCount % this.pageSize > 0) ? (this.totalCount / this.pageSize + 1): this.totalCount / this.pageSize);}/*** 设置 上一页*/public void setUpPage() {this.upPage = (this.pageNo > 1) ? this.pageNo - 1 : this.pageNo;}/*** 设置下一页*/public void setNextPage() {this.nextPage = (this.pageNo == this.totalPage) ? this.pageNo : this.pageNo + 1;}public int getNextPage() {return nextPage;}public int getTotalPage() {return totalPage;}public int getUpPage() {return upPage;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getPageNo() {return pageNo;}public void setPageNo(int pageNo) {this.pageNo = pageNo;}public long getTotalCount() {return totalCount;}public void setTotalCount(long totalCount2) {this.totalCount = totalCount2;}public ListgetDatas() {return datas;}public void setDatas(Listdatas) {this.datas = datas;}public String getPageUrl() {return pageUrl;}public void setPageUrl(String pageUrl) {this.pageUrl = pageUrl;}public Pagination(int pageNo, int pageSize, long totalCount2) {this.setPageNo(pageNo);this.setPageSize(pageSize);this.setTotalCount(totalCount2);this.init();}/*** 初始化计算分页*/private void 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
- */
- public abstract class MongodbBaseDao{
- /**
- * 通过条件查询,查询分页结果
- *
- * @param pageNo
- * @param pageSize
- * @param query
- * @return
- */
- public PaginationgetPage(int pageNo, int pageSize, Query query) {
- long totalCount = this.mongoTemplate.count(query, this.getEntityClass());
- Paginationpage = new Pagination(pageNo, pageSize, totalCount);
- query.skip(page.getFirstResult());// skip相当于从那条记录开始
- query.limit(pageSize);// 从skip开始,取多少条记录
- Listdatas = this.find(query);
- page.setDatas(datas);
- return page;
- }
- //.......其他代码,请下载源代码吧
- }
转载于:https://www.cnblogs.com/shhaoran/archive/2013/02/05/2924521.html
spring MongoDB 集成(分页)相关推荐
- 6.3 Spring Boot集成mongodb开发
6.3 Spring Boot集成mongodb开发 本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统. 0 mongodb简介 Mongo 的主 ...
- 将MongoDB集成到您的Spring项目中
本文展示了如何通过注释配置将MongoDB集成到您的spring项目中. 我们将从Gradle配置开始. group 'com.gkatzioura.spring' version '1.0-SNAP ...
- 将MongoDB集成到您的Spring项目
本文展示了如何通过注释配置将MongoDB集成到您的spring项目中. 我们将从Gradle配置开始. group 'com.gkatzioura.spring' version '1.0-SNAP ...
- Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper
1. 概述 本文的内容包括如下内容: Spring Boot集成mybatis Spring Boot集成pagehelper分页插件,定义分页的相关类 实现工具类:model转dto,实现数据层和传 ...
- spring boot 集成 mongodb 通过id查询问题
spring boot 集成 mongodb 通过id查询问题 java 连接 mongodb 查询时通过id 查询不到数据,但其他字段是可以的,现在请各位大佬看看会是什么原因 通过id为参数查询 具 ...
- Spring Boot集成pagehelper分页插件
Spring Boot集成pagehelper分页插件 1.在pom.xml中添加pagehelper依赖 2.修改配置文件 3.修改Controller里面的查询方法 4.返回分页信息 1. 修改U ...
- Spring+mongodb集群集成(吐血教程) 转自:http://blog.csdn.net/qq_16497617/article/details/52817335
前一篇文章中介绍了在window系统下部署mongodb集群,按照教程一步步实现的话应该都可以在本机部署成功了,上篇文章末尾也提到了,想集成到SSM框架中去,网上资料基本都是单个mongodb数据库的 ...
- SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一.Mybatis框架 1.mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获 ...
- Spring Boot 集成MyBatis
Spring Boot 集成MyBatis Spring Boot 系列 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring ...
- 从零搭建开发脚手架 Spring Boot集成Mybatis-plus之一
文章目录 简介 特性 框架结构 依赖集成 依赖 配置 编码 开始使用 核心功能 代码生成器 添加依赖 编码 编写配置 自定义模板引擎 自定义代码模板 自定义属性注入 字段其他信息查询注入 实战总结 常 ...
最新文章
- JSP数据交互(一)
- backbone.js学习笔记
- aws s3及cloudfront访问问题
- redhat6.4执行二进制程序报错:/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory...
- python多线程写同一文件_Python多线程写文件实例
- 新版谷歌浏览器开启Flash支持
- mutilprocess模块的用法
- mysql count or null_为什么在对带有条件的行进行计数时,为什么在MySQL中需要“ OR NULL”...
- python items和setdefault函数
- 电脑死机大全,看完你就是高手了
- mock gps android,GitHub - Hilaver/MockGPS: Android application to fake GPS
- golang实现家庭收支记账软件项目
- flex 3 格式化组件
- 为什么油猴脚本会运行两次?
- OpenSSL爆出严重bug漏洞 Heartbleed bug CVE-2014-0160
- Java单元测试之JUnit 5快速上手
- 天津大学计算机专硕_天津大学计算机学院学硕和专硕哪个好?
- 电子电气架构——Vector ODX诊断数据库解决方案和操作指南
- 霍尼韦尔启动在武汉的新兴市场中国总部;红牛商标所有者​天丝集团扩建在华生产基地 | 美通企业日报...
- 基于WebSocket实现网页聊天室
热门文章
- Mysql 基础操作:DDL、DML、CRUD 与 常用命令
- java 图片线条_JAVA 关于JFrame的问题,我的图片会被线条给覆盖住,怎样让图片在上面呢...
- CF724G. Xor-matic Number of the Graph
- mybatis逆向工程maven版本idea工具
- Consumer clientId=consumer-1, groupId=console-consumer-950] Connection to node -1 could not be
- 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第2节 maven的安装和仓库种类_05仓库的种类和彼此关系...
- BugBugBugBugBugBugBugBugBugBugBugBugBugBugBug
- 【CS Round #46 (Div. 1.5) B】Letters Deque
- SQL常见错误及处理方法
- linux shell 随机字符生成单词