R2DBCは、非ブロッキングなリレーショナルデータベースアクセスを可能にするJavaのライブラリです。以下では、R2DBCを使ったデータベースアクセスの基本的な手法といくつかのコード例を紹介します。
-
R2DBCの依存関係を追加する: R2DBCを使用するには、プロジェクトの依存関係にR2DBCドライバーを追加する必要があります。例えば、PostgreSQLを使用する場合は、以下のようにMavenの依存関係に追加します:
<dependency> <groupId>io.r2dbc</groupId> <artifactId>r2dbc-postgresql</artifactId> <version>1.0.0.RELEASE</version> </dependency>
-
データベースへの接続の確立: R2DBCを使用してデータベースに接続するには、ConnectionFactoryを作成する必要があります。以下の例では、PostgreSQLデータベースへの接続を確立しています。
ConnectionFactory connectionFactory = ConnectionFactories.get("r2dbc:postgresql://localhost:5432/mydatabase"); Connection connection = connectionFactory.create().block();
-
クエリの実行: R2DBCでは、非ブロッキングな方法でクエリを実行するためにFluxやMonoなどのリアクティブなデータ型が使用されます。以下の例では、テーブルからデータを取得するクエリを実行しています。
Flux<Result> results = connection.createStatement("SELECT * FROM mytable").execute(); results.map((row, rowMetadata) -> row.get("column_name", String.class)) .subscribe(System.out::println);
これらの例はR2DBCの基本的な使い方を示していますが、さらに高度な機能やトランザクションの処理などもサポートされています。R2DBCの公式ドキュメントやコミュニティのリソースを参考にして、さまざまなデータベースとの統合方法を学ぶことができます。
この記事では、R2DBCの非ブロッキングなデータベースアクセスの基礎を理解し、実際のコード例を通じてその使い方を学ぶことができます。R2DBCを使うことで、アプリケーションのパフォーマンスを向上させ、リアクティブなプログラミングの恩恵を受けることができます。