Docs 菜单

Java驱动程序入门

Java驾驶员是一个同步API ,可用于从Java应用程序与MongoDB交互。本指南向您展示如何创建一个应用程序,该应用程序使用Java驾驶员连接到MongoDB Atlas上托管的MongoDB 集群并查询集群中的数据。

提示

MongoDB Atlas是一项完全托管云数据库服务,用于托管MongoDB部署。您可以按照本指南中的步骤创建自己的免费(无需信用) MongoDB Atlas部署。

按照本教程将示例Java应用程序连接到MongoDB Atlas部署。本教程包括以下部分:

如果希望使用其他驱动程序或编程语言连接 MongoDB,请参阅我们的官方驱动程序列表

请完成以下步骤,在开发环境中安装Java驾驶员及其依赖项。

1

在开始本教程之前,请确保安装以下依赖项:

注意

本教程介绍如何在 IDE 中使用 Maven 或 Gradle 安装Java驾驶员。如果您不使用 IDE,请访问构建 Maven创建新的 Gradle 构建,学习;了解如何设立项目。

2

在 IDE 中,创建新的MavenGradle项目。如果使用 Maven,请将以下代码添加到 pom.xml 依赖项列表中:

<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>5.4.0</version>
</dependency>
</dependencies>

如果使用 Gradle,请将以下代码添加到 build.gradle 依赖项列表中:

dependencies {
implementation 'org.mongodb:mongodb-driver-sync:5.4.0'
}

配置依赖项后,运行依赖项管理器并在 IDE 中刷新项目,确保它们可用于您的项目。

完成这些步骤后,您就拥有了一个新项目并安装了驾驶员依赖项。

您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。

1

完成Atlas入门指南,设立新的Atlas帐户和免费套餐MongoDB 部署。确保加载示例数据将IP解决添加到IP访问列表

2

创建数据库用户后,请将该用户的用户名和密码保存在一个安全位置,以便在后续步骤中使用。

完成这些步骤后,您就可以在 Atlas 上有一个新的免费套餐 MongoDB 部署,并建立数据库用户凭证,以及将示例数据加载到数据库中。

您可以通过提供连接 URI(也称为连接字符串)来连接到 MongoDB 部署,它指示驱动程序如何连接到 MongoDB 部署以及连接时的行为方式。

连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。

1

要检索您在上一步中创建的部署的连接字符串,日志登录您的Atlas帐户并导航到 Clusters 部分。单击新部署的 Connect 按钮,如以下屏幕截图所示:

然后,继续执行 Connect your application 部分。从 Driver 选择菜单中选择“Java”,然后从 Version 选择菜单中选择与您安装的版本最匹配的版本。

2

单击连接string右侧的按钮将其复制到剪贴板,如以下屏幕截图所示:

3

将连接字符串粘贴到首选文本编辑器中的文件中,并将此文件保存到安全位置以供以后使用。在连接字符串中,将 <db_username><db_password> 占位符替换为数据库用户的用户名和密码。

完成这些步骤后,您将拥有一个包含数据库用户名和密码的连接字符串。

检索MongoDB Atlas部署的连接字符串后,您可以从Java应用程序连接到该部署并查询Atlas示例数据集。

1

在项目的基础包目录中,创建一个名为 QuickStart.java 的文件。将以下代码复制并粘贴到此文件中,以查询 sample_mflix数据库中的 movies集合:

import static com.mongodb.client.model.Filters.eq;
import org.bson.Document;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class QuickStart {
public static void main( String[] args ) {
// Replace the placeholder with your MongoDB deployment's connection string
String uri = "<connection string uri>";
try (MongoClient mongoClient = MongoClients.create(uri)) {
MongoDatabase database = mongoClient.getDatabase("sample_mflix");
MongoCollection<Document> collection = database.getCollection("movies");
Document doc = collection.find(eq("title", "Back to the Future")).first();
if (doc != null) {
System.out.println(doc.toJson());
} else {
System.out.println("No matching documents found.");
}
}
}
}
2

<connection string uri> 占位符替换为从本指南的“创建连接字符串”步骤中复制的连接字符串。

3

在 IDE 或Shell中运行应用程序。输出包含有关检索到的电影文档的详细信息:

{
_id: ...,
plot: 'A young man is accidentally sent 30 years into the past...',
genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ],
...
title: 'Back to the Future',
...
}

如果遇到错误或看不到输出,请确保指定了正确的连接字符串并加载了示例数据。

重要

TLS v1.3 连接错误

如果您的应用程序生成类似于以下代码的错误,您可能需要将 JDK更新到最新的补丁发布:

javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request

此异常是在某些 JDK 版本中使用 TLS 1.3协议时的一个已知问题。要解决此错误,请将 JDK更新到以下版本之一或更新的版本:

  • JDK 11.0.7

  • JDK 13.0.3

  • JDK 14.0.2

完成这些步骤后,您就拥有一个Java应用程序,它可以连接到MongoDB 部署、对示例数据运行查询并返回匹配的文档。

恭喜您完成本教程!

注意

如果您在学习本教程时运行问题,请在MongoDB Community论坛中寻求帮助,或使用此页面右侧或右下角的 Rate this page标签页提交反馈。

在本教程中,您创建了一个Java驾驶员应用程序,该应用程序连接到MongoDB Atlas上托管的MongoDB 部署,并检索与查询匹配的文档。

您可以访问以下指南,继续开发示例应用程序:

  • 数据库和集合:了解详情有关与MongoDB数据库和集合交互的更多信息。

  • 第三方集成:了解可与Java驾驶员一起使用的第三方集成。