Overview
Java驱动程序是一个同步API,可用于从Java应用程序与MongoDB交互。本指南向您展示如何创建一个应用程序,该程序使用Java驱动程序连接到MongoDB Atlas上托管的MongoDB集群并查询集群中的数据。
提示
MongoDB Atlas 是完全托管的云数据库服务,旨在托管您的 MongoDB 部署。您可以按照本指南中的步骤创建您的免费(无需信用卡)MongoDB Atlas 部署。
按照本教程将示例Java应用程序连接到MongoDB Atlas部署。本教程包括以下部分:
下载并安装:学习如何安装Java驱动程序。
创建MongoDB部署:了解如何在Atlas上创建免费的MongoDB 部署。
创建连接字符串:了解如何检索Atlas部署的连接字符串。
创建 MongoClient:了解如何创建连接到MongoDB并查询部署中存储的数据的应用程序。
如果希望使用其他驱动程序或编程语言连接 MongoDB,请参阅我们的官方驱动程序列表。
下载并安装
请完成以下步骤,在开发环境中安装Java驱动程序及其依赖项。
安装驱动程序依赖项
在开始本教程之前,请确保安装以下依赖项:
JDK 版本 8 或更高版本
集成开发环境 (IDE),例如 IntelliJ IDEA 或 Eclipse
注意
本教程介绍如何在 IDE 中使用 Maven 或 Gradle 安装Java驱动程序。如果您不使用 IDE,请访问构建 Maven或创建新的 Gradle 构建,学习了解如何设立项目。
添加Java驱动程序物料清单
在 IDE 中,创建新的Maven或Gradle项目。将MongoDB Java虚拟机(JVM)工件的物料清单 (BOM) 添加到项目中以组织依赖项版本。BOM 通过确保您维护一致且兼容的依赖项版本(例如 Java 驱动程序和核心驱动程序库之间),从而简化依赖项管理。使用 BOM 避免版本冲突并简化升级。
从以下 Maven 和 Gradle 标签页中进行选择,查看为每个依赖项管理器添加 BOM 的说明:
将以下代码添加到 pom.xml文件的 dependencyManagement 列表中:
<dependencyManagement> <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-bom</artifactId> <version>5.6.1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
将以下代码添加到 build.gradle文件的依赖项列表中:
dependencies { implementation(platform("org.mongodb:mongodb-driver-bom:5.6.1")) }
要查看 BOM 管理的依赖项列表,请参阅 Maven 存储库网站上的mongodb-driver-bom 依赖项列表。
安装Java驱动程序
如果使用 Maven,请将以下代码添加到 pom.xml 依赖项列表中:
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> </dependency> </dependencies>
如果使用 Gradle,请将以下代码添加到 build.gradle 依赖项列表中:
dependencies { implementation 'org.mongodb:mongodb-driver-sync' }
由于您安装了 BOM,因此可以省略Java驱动程序依赖项条目中的版本。您在 BOM 中指定的版本决定了要安装的依赖项版本。
配置依赖项后,运行依赖项管理器并在 IDE 中刷新项目,确保它们可用于您的项目。
完成这些步骤后,您就拥有了一个新项目并安装了驱动程序依赖项。
创建 MongoDB 部署
您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。
完成这些步骤后,您就可以在 Atlas 上有一个新的免费套餐 MongoDB 部署,并建立数据库用户凭证,以及将示例数据加载到数据库中。
创建连接字符串
您可以通过提供连接 URI(也称为连接字符串)来连接到 MongoDB 部署,它指示驱动程序如何连接到 MongoDB 部署以及连接时的行为方式。
连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。
查找 MongoDB Atlas 连接字符串
要检索您在上一步中创建的部署的连接字符串,日志登录您的Atlas帐户并导航到 Clusters 部分。单击新部署的 Connect 按钮,如以下屏幕截图所示:

然后,继续执行 Connect your application 部分。从 Driver 选择菜单中选择“Java”,然后从 Version 选择菜单中选择与您安装的版本最匹配的版本。
完成这些步骤后,您将拥有一个包含数据库用户名和密码的连接字符串。
运行示例查询
检索MongoDB Atlas部署的连接字符串后,您可以从Java应用程序连接到该部署并查询Atlas示例数据集。
创建Java应用程序文件
在项目的基础包目录中,创建一个名为 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."); } } } }
指定连接字符串
将 <connection string uri> 占位符替换为从本指南的“创建连接字符串”步骤中复制的连接字符串。
运行Java应用程序
在 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 部署、对示例数据运行查询并返回匹配的文档。
后续步骤
恭喜您完成本教程!
注意
如果您在此步骤中运行问题,请使用此页面右侧或右下角的 Rate this page标签页提交反馈。
您可以使用MongoDB Stack Overflow标签 或MongoDB Reddit Community 寻求一般问题的支持。
在本教程中,您创建了一个Java驱动程序应用程序,该应用程序连接到MongoDB Atlas上托管的MongoDB 部署,并检索与查询匹配的文档。
您可以访问以下指南,继续开发示例应用程序:
