mongodb在Java中的分页查询

MongoDB实现分页查询 java 之前的csdn找不回来了,决定重新注册一个。望支持~~~ 之前有个新同学问我mongo分页的问题,分享一下。 一如既往,不多BB。直接搂代码: @Override public List<T> find(Query query, Class<T> clazz) { return mongoTemplate.find(query, claz... 阅读详情

在gradle配置文件中引用

dependencies {
    compile(
            'org.mongodb:bson:3.4.2',
    	    'org.mongodb:mongo-java-driver:3.4.2'
    )
    testCompile('junit:junit:4.12')
}

1.在util类中定义公用静态单页查询和分页查询方法

/**
     * 单页查询,获取查询document结果集合
     * @param db  MongoDatabase
     * @param tableName 查询的表名
     * @param bson 查询条件
     * @param skip 忽略的条数
     * @param limit 查询的条数
     * @return document结果集合
     */
    public static List<Document> query(MongoDatabase db, String tableName, Bson bson, int skip, int limit) {
        List<Document> newLins = new ArrayList<>();
        Block<Document> saveBlock = new Block<Document>() {
            @Override
            public void apply(final Document document) {
                newLins.add(document);
            }
        };

        //查询
        MongoCollection<Document> collection = db.getCollection(tableName);

        collection.find(bson).skip(skip).limit(limit).forEach(saveBlock);

        return newLins;
    }

    /**
     * 分页查询
     * @param db  MongoDatabase
     * @param tableName 表名
     * @param bson 查询条件
     * @param pageSize 单页查询条数
     * @return 查询结果集合
     */
    public static List<Document> queryPages(MongoDatabase db, String tableName, Bson bson, int pageSize) {
        //分页查询
        List<Document> list = new ArrayList<>();
        long count = db.getCollection(tableName).count(bson);
        int loops = (int)((count + pageSize - 1) / pageSize);
        for(int i = 0; i < loops; i++) {
            List<Document> newFinds = query(db, tableName, bson, i * pageSize, pageSize);
            list.addAll(newFinds);
        }
        return list;
    }

2.在业务类中调用单页/分页查询

MongoDatabase mongoDatabase = Mongodb.getMongoDb().getDatabase("db_name");
            List<String> taskIds = new ArrayList<>();
            taskIds.add("123");
            taskIds.add("456");
            //bson就相当于where条件
            Bson bson = Filters.and(Filters.eq("status", 0),
                Filters.eq("dep", 1),
                Filters.in("taskId", taskIds));
            //查询tableName表中前1万条数据
            List<Document> myList = MonitorUtil.query(mongoDatabase, tableName, bson, 0, 10000);

上面是单页查询,下面是分页查询

Bson bsonLinks = Filters.and(
                    Filters.gt("lud", task_beginTime),
                    Filters.eq("rd", task_domain),
                    Filters.gte("dep", 2),
                    Filters.lte("dep",7));
                //分页查询
                List<Document> links = MonitorUtil.queryPages(mongoDatabase, tableName, bsonLinks, 1000);





Java实现MongoDB分页查询实战指南 Java以其“一次编写,到处运行”的理念闻名,它不仅能够开发企业级应用,还适用于嵌入式系统和移动设备。Java的面向对象特性、丰富的API库和垃圾回收机制为开发者提供了便利,也保障了应用的稳定性和安全性。从简单的Hello World程序到复杂的分布式系统,Java都扮演着重要的角色。在进行分页查询时,MongoDB中的skip()方法是一种简单的分页方式,允许跳过集合中的一定数量的文档,从而实现从指定位置开始返回结果集。 阅读详情

相关推荐

禅道二次开发(一):从零搭建本地开发与调试环境

本文详细介绍了禅道二次开发的第一步:从零搭建本地开发与调试环境。通过部署官方一键安装包、配置端口与防火墙、连接数据库、设置Samba文件共享,并最终在VSCode中配置PHP智能感知与Xdebug调试,手把手教你建立一个隔离、高效的专属开发工作台,为后续的代码修改与功能扩展奠定坚实基础。

weixin_29003437的博客 323

java MongoDB 列表分页查询

java MongoDB 列表分页查询

yuechuzhixing的博客 1210

Astah 9.0升级步骤(Widnows/Mac OS)

Astah Professional是一款全新的轻量级UML建模工具。软件集思维导图和UML建模于一体,采用100%纯JAVA构建, 兼容性强,不仅能够实现分布式建模、项目合并,还能够实现和其它建模工具的交互。

tequiero777的博客 2824

Java操作mongodb(含分页,精确查询,模糊查询,时间区间,排序)进行查询

java操作mongodb进行分页查询集大成者。包含:分页,排序,模糊/精确查询,区间查询。以及拼接分页参数。用java查询mongodb?看这一篇足够!

qq_43813182的博客 3900

2021秋-北邮计算机导论期末考试(BUPT)

2021秋-北邮计算机导论期末考试(BUPT) 难度较低适合新手练习

weixin_73985779的博客 1499

双三相电机控制避坑指南:为什么你的SVPWM谐波大?四矢量调制实战解析

本文深入解析双三相电机控制中SVPWM谐波大的问题,并提供四矢量调制实战方案。通过分析谐波来源、四矢量调制原理及工程实现步骤,显著降低电流THD至3-5%,提升系统效率2.3个百分点。特别适合需要优化电机控制的工程师参考。

weixin_30645617的博客 397

Java 中MongoDB 聚合查询,涉及分页,分组,去重

Java 中MongoDB 聚合查询,涉及分页,分组,去重。

weixin_35332034的博客 1989

过压保护电路(OVP)

作者:AirCity 2020.2.4 Aircity007@sina.com 本文所有权归作者Aircity所有 1 示例一 当VBUS=5V时,各点电压电流如图所示,Q1接近截止,输出信号是5V。 当VBUS=5.4V开始,输出信号开始下降,直到VBUS=6.1V,输出信号降低为0.6V。 下面是实测波形,这个电路,输出信号的电压不会超过5.4V,这个输出信号可用于电源的控制信号。 2 ...

AirCity123的博客 3万+

java 关于mongodb的分页查询

java 关于mongodb的分页查询

我是小白程序员 1256

手把手教你ensp仿真搭建校园网(含防火墙及无线网络)系列(一)校园网核心交换机配置

本系列博客将带你从零开始,使用 华为 eNSP(Enterprise Network Simulation Platform) 仿真搭建一个完整的校园网络,涵盖 核心层、汇聚层、接入层、防火墙安全策略、无线AC+AP组网 等实战场景。无论你是网络初学者还是希望深化实战经验的工程师,都能通过本教程掌握企业级网络的规划、配置与排错技巧。

echo的博客 3798

【行为决策模块项目实战】解耦控制--多控制器管理与切换的方法(附C++代码)

[请添加图片描述](https://img-blog.csdnimg.cn/c11300d9e4fe421e9070f474a468d1db.jpeg)本文先对多控制器管理与切换的方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容VERTICAL_VEL, //垂直速度PID控制器VERTICAL_POS, //垂直位置PID控制器HORIZONTAL, //水平速度PID控制器YAW, //航向角yaw位置逻辑控制器。

qq_35635374的博客 1211

Java中MongoDB分页查询总结

Java中MongoDB分页查询总结

weixin_42267411的博客 4292

MobileViT替换YOLOv11主干网络:轻量化新思路-(用MobileViT等轻量视觉Transformer降低计算成本)

在计算机视觉领域,目标检测一直是核心任务之一,而YOLO(You Only Look Once)系列算法因其出色的速度-精度平衡成为工业界和学术界的热门选择。随着YOLOv11的推出,模型性能达到了新的高度,但其计算复杂度和参数量也随之增加,这对资源受限的移动设备和嵌入式系统提出了挑战。与此同时,视觉Transformer(ViT)的出现为计算机视觉带来了全新范式,但其庞大的计算需求限制了在移动端的应用。MobileViT作为一种创新的轻量级视觉Transformer架构,巧妙结合了CNN的归纳偏置优势和V

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1647

mongodb java分页查询_mongodb在Java中的分页查询

在gradle配置文件中引用dependencies {compile('org.mongodb:bson:3.4.2','org.mongodb:mongo-java-driver:3.4.2')testCompile('junit:junit:4.12')}1.在util类中定义公用静态单页查询和分页查询方法/*** 单页查询,获取查询document结果集合* @param db Mong...

weixin_39600447的博客 620

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

mongodb分页java写的_MongoDB实现分页查询 java

之前的csdn找不回来了,决定重新注册一个。望支持~~~之前有个新同学问我mongo分页的问题,分享一下。一如既往,不多BB。直接搂代码:@Overridepublic Listfind(Query query, Classclazz) {return mongoTemplate.find(query, clazz);}@Overridepublic Listfind(Query query, C...

weixin_28733637的博客 1008

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

mongodb在java中实现分页,JAVA如何实现MongoDB动态条件的分页查询

JAVA如何实现MongoDB动态条件的分页查询发布时间:2020-07-16 13:35:48来源:亿速云阅读:113作者:小猪这篇文章主要讲解了JAVA如何实现MongoDB动态条件的分页查询,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。一、使用QueryByExampleExecutor1. 继承MongoRepositorypublic interface S...

weixin_39651488的博客 924

mongodb java分页查询_java使用mongodb分页查询案例

@Overridepublic Response chipListByPage(ChipPageListParam request) {//查询条件Query query = new Query();Criteria criteria = new Criteria();if (StringUtils.isNotBlank(request.getTitleLike())) {Pattern patt...

weixin_33379297的博客 484

java mongodb 分页_Java操作MongoDB模糊查询和分页查询

本文实例为大家分享了Java操作MongoDB模糊查询和分页查询,供大家参考,具体内容如下模糊查询条件:1、完全匹配Pattern pattern = Pattern.compile("^name$", Pattern.CASE_INSENSITIVE);2、右匹配Pattern pattern = Pattern.compile("^.*name$", Pattern.CASE_INSENSIT...

weixin_31785177的博客 705

java mongodb分页查询_MongoDB分页以及复杂条件查询例子

此处MongoDB的复杂的分页采用d调用MongoTemplate来实现springboot中application.yml 配置springdata:mongodb:uri: mongodb://username:password@host:port/database基本的查询可以通过 spring data jpa来实现,for examplepublic interface TestDao ...

weixin_35724999的博客 671

mongodb java分页查询_JAVA代码实现MongoDB动态条件之分页查询

一、使用QueryByExampleExecutor1. 继承MongoRepositorypublic interface StudentRepository extends MongoRepository {}2. 代码实现使用ExampleMatcher匹配器-----只支持字符串的模糊查询,其他类型是完全匹配Example封装实体类和匹配器使用QueryByExampleExecutor接...

weixin_35439783的博客 1466

python mongodb分页查询_JAVA代码实现MongoDB动态条件之分页查询

一、使用QueryByExampleExecutor1. 继承MongoRepositorypublic interface StudentRepository extends MongoRepository {}2. 代码实现使用ExampleMatcher匹配器-----只支持字符串的模糊查询,其他类型是完全匹配Example封装实体类和匹配器使用QueryByExampleExecutor接...

weixin_39624980的博客 143

亿级别记录的mongodb分页查询java代码实现

1.准备环境   1.1 mongodb下载   1.2 mongodb启动     C:\mongodb\bin\mongod --dbpath D:\mongodb\data   1.3 可视化mongo工具Robo 3T下载 2.准备数据    <dependency> <groupId>org....

1307

mongodb分页java写的_亿级别记录的mongodb分页查询java代码实现

1.准备环境1.1 mongodb下载1.2 mongodb启动C:\mongodb\bin\mongod --dbpath D:\mongodb\data1.3 可视化mongo工具Robo 3T下载2.准备数据org.mongodbmongo-java-driver3.6.1java代码执行public static voidmain(String[] args) {try{/**** Con...

weixin_39785858的博客 406

Java代码操作mongodb数据库进行简单的分页查询

//分页查询 @RequestMapping(“findCloudListPage”) @ResponseBody public JSONObject findCloudListPage(Integer page,Integer rows,HttpSession session,String id){ JSONObject jsonObject = new JSONObject(); Query ...

听风动的博客 1946
上一篇: linux下添加定时任务(定时运行java项目中的任务类class)
下一篇: gradle引用capsule插件打jar包,并运行包中有main方法的入口类
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值