千家信息网

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

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇"在开发中如何实现MongoDB与Java的集成"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2024年11月11日在开发中如何实现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的集成"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0