热门标签 | 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)


推荐阅读
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • 本文介绍了在Java环境中使用PDFBox和XPDF工具从PDF文件中提取文本内容的方法。重点讨论了处理中文字符集及解决相关错误的技术细节,特别是针对某些特定格式的PDF文件(如网上填写的报名表和下载的论文)遇到的问题及解决方案。 ... [详细]
  • ------------------------------————————————————————————————1.定义一个类,实现与被增强对象相同的接口2.在类中定义一个对象,记住被增强 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 在 Android 开发中,通过 Intent 启动 Activity 或 Service 时,可以使用 putExtra 方法传递数据。接收方可以通过 getIntent().getExtras() 获取这些数据。本文将介绍如何使用 RoboGuice 框架简化这一过程,特别是 @InjectExtra 注解的使用。 ... [详细]
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社区 版权所有