热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java连接MongoDB数据库MongoClient的使用

本来是想写个Java操作MongoDB数据库增删查改的Demo的,但是最近没有时间,只能简单地将之前记录的连接MongoDB的方法贴出来…等有时间在把完整的增删查改Demo补全吧…

本来是想写个Java 操作 MongoDB数据库增删查改的Demo的 , 但是最近没有时间 , 只能简单地将之前记录的连接MongoDB的方法贴出来…

等有时间在把完整的增删查改Demo补全吧….

我本地自己装了MongoDB数据库,所以我是在Windos下运行的…

没有Jar包的…看这里….

Java 连接 MongoDB Driver Jar包

这些常量..按照自己的实际环境修改吧…如果mongo数据库没有设置用户名和密码,就不用做校验…

[java] view plain copy

private static final String host = “localhost”;  

private static final int port = 27017;  

private static final String userName = “”;  

private static final String password = “”;  

private static final String dataBaseName = “mongotest”;  

private static final String tableName = “user”;  

版本一 , 注意看 : 我这里使用的是 Mongo mOngo= new Mongo(host, port); 来连接的…

[java] view plain copy

public void connMongoDB() throws Exception {  

Mongo mongo =new Mongo(host, port);  

    DB db = mongo.getDB(dataBaseName);  

if (!StringUtils.isEmpty(userName) || !StringUtils.isEmpty(password)) {  

        db.authenticate(userName, password.toCharArray());  

    }  

    DBCollection dbCollection = db.getCollection(tableName);  

    DBCursor dbCursor = dbCollection.find();  

while(dbCursor.hasNext()){  

        Map map = (Map)dbCursor.next();  

        System.out.println(map);  

    }  

}  

结果图:

《Java连接MongoDB数据库 MongoClient 的使用》

这个是我的MongoDB数据库

《Java连接MongoDB数据库 MongoClient 的使用》

然后是版本2.

注意看啊…这里我使用的是 MongoClient mOngoClient= new MongoClient(host,port); 连接MongoDB的…

[java] view plain copy

public void connectMongoDB(){  

try{  

MongoClient mongoClient =new MongoClient(host,port);  

        DB db = mongoClient.getDB(dataBaseName);  

        DBCollection dbCollection = db.getCollection(tableName);  

        DBCursor dbCursor = dbCollection.find();  

while(dbCursor.hasNext()){  

            System.out.println(dbCursor.next());  

        }  

}catch (Exception e) {  

        e.printStackTrace();  

    }  

}  

虽然他们的结果都是一样的

《Java连接MongoDB数据库 MongoClient 的使用》

他们都可以连接MongoDB数据库,但是有什么区别呢?

百度查了下,找到这个文章,分析的不错,有兴趣的可以看下…

不过官方文档和源代码建议使用MongoClient类… 不就的将来会废弃Mongo

 mongoclient和mongo类写性能差异原因分析

一、MongoDB数据库参数配置

1、推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置。

《Java连接MongoDB数据库 MongoClient 的使用》

\

2、如果没有通过mongodb.cfg.properties,会采用程序指定的默认配置。

3、通过有参构造方法构造MongoDBService对象或通过get/set方法,指定数据库及集合,优先级最高。

1、获取基本信息或对象:

(1)、获取数据库名: getDbName() (2)、设置数据库名(指定数据库): setDbName(String dbName) (3)、获取集合名: getCollName() (4)、设置集合名(指定集合): setCollName(String collName) (5)、获取数据库对象: getDb() 2、数据插入方式: (1)、插入单条数据: insert(DBObject obj) (2)、插入多条数据: insertBatch(List list)void 3、数据删除方式: (1)、删除单条数据: delete(DBObject obj) (2)、删除多条数据: deleteBatch(List list) 4、数量统计方式: (1)、获取集合中数据数量: getCollectionCount() (2)、获取符合条件的数据数量: getCount(DBObject obj) 5、查找数据: (1)、查找所有数据: findAll() (2)、查找符合条件的数据: find(DBObject obj) (3)、查找符合条件的数据并排序: find(DBObject query, DBObject sort) (4)、查找符合条件的指定数量的数据并排序:find(DBObject query, DBObject sort, int start, int limit) (5)、由ID查找数据: getById(String id) 6、更新数据 :update(DBObject setFields, DBObject whereFields) void 7、打印List: printListDBObj(List list)


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • Java 类成员初始化顺序与数组创建
    本文探讨了Java中类成员的初始化顺序、静态引入、可变参数以及finalize方法的应用。通过具体的代码示例,详细解释了这些概念及其在实际编程中的使用。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
author-avatar
想太多先生的微博
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有