JDBC MongoDB 连接

原文:https://www.studytonight.com/java/connecting-to-mongodb.php

在本教程中,我们将讨论 Java 应用和 MongoDB 之间的数据库连接。MongoDB 是一个基于文档的数据库,用于将数据存储为 JSON 格式,而不是表或关系。它与关系数据库完全不同,比如:mysql。你可以从我们最新的教程 MongoDB 教程中了解 MongoDB。

现在让我们开始学习连接过程。在开始之前,请确保您的计算机系统中安装了 mongoDB。这些是连接时应该遵循的一些先决条件。

先决条件

  • 使用 MongoDB 27017 的默认端口在本地主机上运行的 MongoDB。参见安装 Mongodb 安装步骤。
  • MongoDB 驱动。

安装 mongodb 后,拥有 MongoDB 驱动也很重要。所以要得到这些,你可以访问官方网站 MongoDB Java Driver 或者从我们的网站下载 Jar 文件。将这个 JAR 文件保存到您的 java 应用目录中。

注意:【mongodb 连接不需要使用 JDBC API,它的 API 是完全独立的,不需要任何其他外部库。

以下是 Java 应用连接 mongodb 数据库的基本步骤。

创建 MongoDB 实例

您可以在没有任何参数的情况下实例化 MongoClient 对象,以连接到在端口:27017 上的本地主机上运行的 MongoDB 实例。使用以下代码。

MongoClient mongoClient = MongoClients.create();

您可以指定 mongodb 主机和运行端口,以防 mongodb 在不同的端口上运行。

MongoClient mongoClient = MongoClients.create("mongodb://hostOne:27017");

访问数据库

创建 mongoDB 实例后,使用其getDatabase()方法通过将数据库名称指定给getDatabase()方法来访问数据库。如果数据库不存在,MongoDB 会在您第一次存储该数据库的数据时创建该数据库。例如,我们正在连接到今晚研究数据库。

MongoDatabase database = mongoClient.getDatabase("studytonight");

访问收藏

创建 mongoDB 数据库后,使用其getCollection()方法通过指定名称来访问集合。如果集合不存在,MongoDB 会在您首次存储该集合的数据时创建该集合。

使用以下代码创建集合,例如:学生

 MongoCollection<Document> collection = database.getCollection("student");

创建文档

要使用 Java 驱动创建文档,请使用 document 类,并使用其append()方法将附加字段和值包含到文档对象中。例如,请参见下面的代码。

Document doc = new Document("name", "Ramesh");
doc.append("id",12);

插入文档

创建文档后,可以将文档插入到集合中。我们也可以插入单个和多个文档。要将单个文档插入集合,可以使用集合的insertOne()方法。

     collection.insertOne(doc);

添加多个文档,可以使用集合的 insertMany()方法,该方法需要插入一个文档列表。

获取文档

您可以使用集合的find()方法从文档中获取记录。find()方法返回一个 iterable,这样您就可以循环访问各个数据。

现在让我们将所有这些步骤放入一个 Java 应用中,并连接到 MongoDB 数据库。

Java MongoDB 示例:

这里我们通过指定主机和端口号连接到 mongodb,然后创建一个数据库和一个集合来存储数据。insertOne()方法用于在文档中插入一条记录。见下面的例子。

     import com.mongodb.MongoClient;  
import com.mongodb.client.MongoCollection;  
import com.mongodb.client.MongoDatabase;  
import org.bson.Document;  
public class Demo {  
    public static void main(String[] args){  
        try{  
            // Connecting To MongoDB  
            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  
            // Creating DataBase   
            MongoDatabase db = mongoClient.getDatabase("studytonight");  
            // Creating Collection/Table  
            MongoCollection<Document> table = db.getCollection("student");  
            // Creating Document/Record    
            Document doc = new Document("name", "Ramesh");  
            doc.append("id",12);  
            // Inserting Data  
            table.insertOne(doc);  
        }catch(Exception e){  
            System.out.println(e);  
        }  
    }  
}

从 MongoDB 访问数据

创建数据库并插入数据后,现在让我们获取该记录。我们使用find()方法从文档中获取记录,然后迭代记录,并使用它们的名称进行显示。见下面的例子。

     import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;  
import com.mongodb.client.MongoDatabase;  
import org.bson.Document;  
public class Demo {  
    public static void main(String[] args){  
        try{  
            // Connecting To MongoDB  
            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  
            // Creating DataBase   
            MongoDatabase db = mongoClient.getDatabase("studytonight");  
            // Creating Collection/Table  
            MongoCollection<Document> table = db.getCollection("student");  
            // Accessing Data
            FindIterable<Document> data =  table.find();
            // Traversing Data
            for(Document record : data) {
                System.out.println(record.getInteger("id")+" : "+record.getString("name"));
            }
            mongoClient.close();

        }catch(Exception e){  
            System.out.println(e);  
        }  
    }
}

12:拉梅什

JSON 格式的访问

MongoDB 是一个基于文档的数据库,使用类似 JSON 的格式将数据存储到文档中。它提供了一种方法toJSON()将数据访问为我们在本例中使用的 JSON 格式。

     import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;  
import com.mongodb.client.MongoDatabase;  
import org.bson.Document;  
public class Demo {  
    public static void main(String[] args){  
        try{  
            // Connecting To MongoDB  
            MongoClient mongoClient = new MongoClient( "localhost" , 27017 );  
            // Creating DataBase   
            MongoDatabase db = mongoClient.getDatabase("studytonight");  
            // Creating Collection/Table  
            MongoCollection<Document> table = db.getCollection("student");  
            // Accessing Data
            FindIterable<Document> data =  table.find();
            // Traversing Data
            for(Document record : data) {
                System.out.println(record.toJson());
            }
            mongoClient.close();

        }catch(Exception e){  
            System.out.println(e);  
        }  
    }
}

{ " _ id ":{ " $ oid ":" 5 ECE 65 F5 和 8aa304abbf99953"},"名称":" Ramesh "," id": 12}