Docs Menu

Javaドライバーを使い始める

Javaドライバーは、 JavaアプリケーションからMongoDBとやりとりするために使用できる同期APIです。このガイドでは、 Javaドライバーを使用してMongoDB AtlasでホストされているMongoDBクラスターに接続し、クラスター内のデータをクエリするアプリケーションを作成する方法について説明します。

Tip

MongoDB Atlasは、 MongoDB配置をホストするフルマネージドクラウドデータベースサービスです。このガイドの手順に従い、独自の無料(クレジットカード不要) MongoDB Atlas配置を作成できます。

このチュートリアルに従って、サンプルJavaアプリケーションをMongoDB Atlas配置に接続します。このチュートリアルには、次のセクションが含まれています。

  • ダウンロードとインストール : Javaドライバーをインストールする方法について説明します。

  • MongoDB配置の作成:Atlas に無料のMongoDBデプロイを作成する方法を学びます。

  • 接続文字列の作成 : Atlas 配置の接続文字列を取得する方法について学びます。

  • MongoClient の作成 : MongoDBに接続し、デプロイメントに保存されているデータをクエリするアプリケーションを作成する方法を学びます。

別のドライバーまたはプログラミング言語を使用して MongoDB に接続する場合は、公式ドライバーのリストを参照してください。

開発環境にJavaドライバーとその依存関係をインストールするには、次の手順を実行します。

1

このチュートリアルを開始する前に、次の依存関係をインストールしていることを確認してください。

注意

このチュートリアルでは、IDE で Maven または Gradle を使用してJavaドライバーをインストールする方法を示します。 IDE を使用しない場合は、プロジェクトのセットアップ方法は「Maven のビルド」または「新しい Gradle ビルドの作成」を参照してください。

2

IDE で、新しい Maven または Gradleプロジェクトを作成します。 MongoDB JVMアーティファクトのアイテム請求書(BOM)をプロジェクトに追加して、依存関係バージョンを整理します。 BOM は、 Javaドライバーと Core ドライバー ライブラリ間など、一貫した互換性のあるバージョンの依存関係を維持することで、依存関係の管理を簡素化します。 BOM を使用すると、バージョンの競合を回避し、アップグレードを簡素化できます。

次の Maven タブと Gradle タブから選択すると、各依存関係マネージャーに BOM を追加するための手順が表示されます。

次のコードを pom.xmlファイルの dependencyManagement リストに追加します。

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-bom</artifactId>
<version>5.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

次のコードを build.gradleファイルの 依存関係リストに追加します。

dependencies {
implementation(platform("org.mongodb:mongodb-driver-bom:5.4.0"))
}

BOM が管理する依存関係のリストを表示するには、 Maven Repositoryウェブサイトの mongodb-Driver-bom 依存関係リスト を参照してください。

3

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 Atlas では無料階層の MongoDB 配置を作成して、データを保存および管理できます。 MongoDB Atlas は、MongoDB databaseをクラウドでホストおよび管理します。

1

Atlas の使用開始ガイドを完了して、新しい Atlas アカウントと無料階層のMongoDBデプロイを設定します。サンプルデータをロードし、IP アクセス リストにIPアドレスを追加していることを確認します。

2

データベースユーザーを作成したら、そのユーザーのユーザー名とパスワードを安全な場所に保存して、後の手順で使用します。

これらの手順を完了すると、Atlas に新しい無料階層の MongoDB 配置、データベースユーザーの認証情報、データベースに サンプル データがロードされます 。

MongoDB配置に接続するには、 接続string とも呼ばれる 接続 URIMongoDB を提供します。これは、 配置に接続する方法と接続中の動作をドライバーに指示します。

接続stringには、配置のホスト名またはIPアドレスとポート、認証メカニズム、ユーザー認証情報(該当する場合)、および接続オプションが含まれます。

1

前のステップ で作成した配置の接続文字列を取得するには、Atlas アカウントにログして「Clusters 」セクションに移動します。次のスクリーンショットに示すように、新しい配置で [] ボタンをクリックします。Connect

次に、Connect your application セクションに進みます。 Driver 選択メニューから「Java」を選択し、Version 選択メニューからインストールしたバージョンに最適なバージョンを選択します。

2

次のスクリーンショットに示すように、接続文字列の右側にある ボタンをクリックして、接続stringをクリップボードにコピーします。

3

接続文字列をテキストエディターのファイルに貼り付け、後で使用するために安全な場所にファイルします。接続文字列内の、<db_username><db_password> のプレースホルダーをデータベースユーザーのユーザー名とパスワードに置き換えます。

これらの手順を完了すると、データベースのユーザー名とパスワードを含む接続stringが作成されます。

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 またはシェルでアプリケーションを実行します。出力には、検索された映画ドキュメントの詳細が含まれます。

{
_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

これらの手順を完了すると、 MongoDBデプロイに接続し、サンプルデータに対してクエリを実行し、一致するドキュメントを返すJavaアプリケーションが作成されます。

チュートリアルを完了しました。

注意

このチュートリアルで問題が発生した場合は、 MongoDB Community フォーラム Rate this pageでサポートを依頼するか、このページの右側または右下にある タブを使用してフィードバックを送信してください。

このチュートリアルでは、 MongoDB AtlasでホストされているMongoDBデプロイに接続し、クエリに一致するドキュメントを検索するJavaドライバーアプリケーションを作成しました。

次のガイドを参照して、サンプルアプリケーションの開発を続けることができます。