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


推荐阅读
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
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社区 版权所有