千家信息网

在开发中如何实现MongoDB与Java的集成

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇"在开发中如何实现MongoDB与Java的集成"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2024年09月22日在开发中如何实现MongoDB与Java的集成

这篇"在开发中如何实现MongoDB与Java的集成"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"在开发中如何实现MongoDB与Java的集成"文章吧。

1.什么是MongoDB?

MongoDB 是一种非常流行的 NoSQL 开源数据库。它适用于集合而不是表和文档而不是行和列,可提供高性能、高可用性和轻松的可扩展性。

示例文件:

{   "_id" : ObjectId("5b0d226b31a5f6595a7034de"),   "firstName" : "Dharam",   "lastName" : "Rajput"}

1.1 我们需要什么

  • MongoDB 3.6

  • MongoDB-Java-Driver 2.10.1

  • JDK 1.8

  • Maven 3.0.3

1.2 所需的依赖

org.mongodbmongo-java-driver2.10.1 

现在让我们开始用 Java 实现 Mongo 查询,我们将从 CRUD 操作开始。

2. 与 MongoClient 的连接

如果我们使用低于2.10.0的MongoDB版本,那么我们使用MongoDB服务器,但我们使用的是更高版本,所以我们将使用MongoClient与MongoDB建立连接。

MongoClient mongo = new MongoClient( "localhost" , 27017 );// If we use older version thanMongo mongo = new Mongo("localhost", 27017);

3. 与数据库的连接

现在连接数据库。如果您的数据库不存在,那么 Mongo 将创建一个新数据库。

DB database = mongoClient.getDB("testdb");

如果我们在安全模式下使用 Mongo,则需要身份验证。

MongoClient mongoClient = new MongoClient();DB database = mongoClient.getDB("testdb"); // testdb is db nameboolean auth = database.authenticate("username", "password".toCharArray());

使用以下代码检查哪个数据库已经存在。

mongoClient.getDatabaseNames().forEach(System.out::println);

4. 蒙戈收藏

现在,创建一个相当于RDBMS 中的表的集合。我们可以将集合设为:

database.createCollection("users", null);

获取并打印所选数据库的所有现有集合。

database.getCollectionNames().forEach(System.out::println);

5. 插入文档

现在我们将在集合(表)中保存一个文档(数据)。

DBCollection table = db.getCollection("users");BasicDBObject document = new BasicDBObject();document.put("firstName", "Dharam");document.put("lastName", "Rajput");table.insert(document);

现在已经在数据库中插入了一个文档。

{   "_id" : ObjectId("5b0d226b31a5f6595a7034de"),   "firstName" : "Dharam",   "lastName" : "Rajput"}

6. 更新文档

假设我们有以下文档:

{   "_id" : ObjectId("5b0d226b31a5f6595a7034de"),   "firstName" : "Dharam",   "lastName" : "Rajput"}

我们想更改此文档的名字。

首先搜索 name="Dharam" 的文档并使用新值 "Dharmendra" 更新它

BasicDBObject query = new BasicDBObject();query.put("firstName", "Dharam");BasicDBObject newDocument = new BasicDBObject();newDocument.put("firstName", "Dharmendra");BasicDBObject updateObj = new BasicDBObject();updateObj.put("$set", newDocument);

7. 在集合中查找文档

在用户集合中搜索"firstName = Dharmendra"的文档

DBCollection db= db.getCollection("user");BasicDBObject searchQuery = new BasicDBObject();searchQuery.put("firstName", "Dharmendra");DBCursor cursor = db.find(searchQuery);while (cursor.hasNext()) {System.out.println(cursor.next());}

8. 删除文件

删除"firstName = Dharmendra"的文档。

DBCollection db= db.getCollection("user");BasicDBObject searchQuery = new BasicDBObject();searchQuery.put("name", "mkyong");db.remove(searchQuery);

本教程是 MongoDB 与 Java 的快速介绍。

现在在这里找到 MongoDB 与 Java 集成的完整代码。

package com.demo.mongodb;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.MongoClient;public class TestDB {public static void main(String[] args) {try {/**** Connect to MongoDB ****/// Since 2.10.0, uses MongoClientMongoClient mongoClient = new MongoClient("localhost", 27017);/**** Get database ****/// if database doesn't exists, MongoDB will create it for youDB db = mongoClient.getDB("testdb");mongoClient.getDatabaseNames().forEach(System.out::println);/**** Get collection / table from 'testdb' ****/// if collection doesn't exists, MongoDB will create it for youDBCollection collection = db.getCollection("users");/**** Insert ****/// create a document to store key and valueBasicDBObject document = new BasicDBObject();document.put("firstName", "Dharam");document.put("lastName", "Rajput");collection.insert(document);/**** Find and display ****/BasicDBObject searchQuery = new BasicDBObject();searchQuery.put("firstName", "Dharam");DBCursor dbCursor = collection.find(searchQuery);while (dbCursor.hasNext()) {System.out.println(dbCursor.next());}/**** Update ****/// search document where name="Dharam" and update it with new values "Dharmendra"BasicDBObject dbQuery = new BasicDBObject();dbQuery.put("firstName", "Dharam");BasicDBObject newDocument = new BasicDBObject();newDocument.put("firstName", "Dharmendra");BasicDBObject updateObj = new BasicDBObject();updateObj.put("$set", newDocument);collection.update(dbQuery, updateObj);/**** Find and display ****/BasicDBObject findQuery   = new BasicDBObject().append("firstName", "Dharmendra");DBCursor findCursor = collection.find(findQuery);while (findCursor.hasNext()) {System.out.println(findCursor.next());}   } catch (Exception e) {e.printStackTrace(); }}}

以上就是关于"在开发中如何实现MongoDB与Java的集成"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

文档 数据 数据库 内容 开发 代码 文件 文章 版本 知识 篇文章 搜索 更新 安全 价值 可扩展性 可用性 名字 大部分 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 php数据库新增一行 30米箱梁张拉设计数据库 页面软件开发 数据库机房布线图解 华为软件开发流程图 荆州网络安全维护哪家好 速达客户端为何不安装数据库 赛迪网络安全研究所所长刘权 视频监控网络安全教育 第一次网络安全宣传周的开始时间 梦幻西游秒空服务器值多少钱 软件开发中什么叫组件 竹溪互联网软件开发以客为尊 计算机网络技术VLAN 舟山职业软件开发 软件开发需求镀金 车载网络技术3000字 Python写数据库驱动 平谷区节能软件开发报价技术规范 一个数据库的cad切圆视频 城市活动断层探测数据库建设 我心中的网络安全1500字论文 做模型有哪些软件开发 字节创科网络技术有限公司 造成网络安全事件的原因 上海奈狮互联网科技 有数据库的电脑换硬盘 数据库安全测试过程包括 信息技术高中走进数据库 自动续费软件开发需要多少钱
0