Java驱动程序入门
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项目。如果使用 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 部署
您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。
在 Atlas 上创建免费的 MongoDB 部署
完成Atlas入门指南,设立新的Atlas帐户和免费套餐MongoDB 部署。确保加载示例数据并将IP解决添加到IP访问列表。
完成这些步骤后,您就可以在 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 部署、对示例数据运行查询并返回匹配的文档。
后续步骤
恭喜您完成本教程!
注意
如果您在学习本教程时运行问题,请在MongoDB Community论坛中寻求帮助,或使用此页面右侧或右下角的 Rate this page标签页提交反馈。
在本教程中,您创建了一个Java驾驶员应用程序,该应用程序连接到MongoDB Atlas上托管的MongoDB 部署,并检索与查询匹配的文档。
您可以访问以下指南,继续开发示例应用程序: