第1章 Quarkus でのデータソース使用の概要


アプリケーションに永続データストレージを追加する場合は、アプリケーションをリレーショナルデータベースに接続する必要があります。これには、データベースドライバーを使用してアプリケーションに接続するデータソースを使用します。Quarkus アプリケーションを 1 つまたは複数のデータソースに接続できます。Quarkus に統合されているデータソース管理機能を使用して、以下を行うことができます。

  • 1 つまたは複数のデータソースを使用するようにアプリケーションを設定
  • コードでのデータソースへの参照の取得
  • プールチューニング設定プロパティーの表示および設定

Quarkus アプリケーションで、2 種類のデータベースドライバーを使用して、アプリケーションをリレーショナルデータベースに接続できます。1 つのアプリケーションで、両方のタイプの複数のデータソースを同時に使用できます。

JDBC ドライバー
Java ベースのアプリケーションのデータベース接続を提供する標準の JDBC API を使用します。Quarkus JDBC ドライバーは、Agroal を使用してデータベース接続を管理します。Agroal は、Quarkus の他の機能 (セキュリティー、トランザクション管理、ヘルスチェックなど) と統合された、高速、軽量、および非常にスケーラブルはデータベース接続プール実装です。
リアクティブドライバー
これは、Eclipse Vert.x のデータソースドライバー実装に基づいています。Eclipse Vert.x リアクティブデータソースドライバーは、Quarkus のノンブロッキングおよびリアクティブネットワーク関連の機能を提供し、非常にスケーラブルでイベント駆動型のアプリケーションに適しています。

Quarkus が提供する統一された柔軟な設定オプションのセットを使用して、両方のタイプのデータソースドライバーを設定できます。

1.1. データソースの db-kind プロパティーの設定

使用するデータソースのタイプと一致するように、アプリケーションの設定ファイルの db-kind プロパティーを設定すると、Quarkus は適切なタイプのデータベースドライバーを自動的に解決します。以下の手順は、データソースの db-kind プロパティーを設定する方法を示しています。

前提条件

  • Quarkus Maven プロジェクトがあること。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルで、使用する データソースのタイプ と一致するように、db-kind プロパティーの値を設定します。以下の例では、データソースタイプに postgresql を使用しています。

    quarkus.datasource.db-kind=postgresql
    Copy to Clipboard Toggle word wrap

1.2. データベース認証情報の設定

アプリケーションがデータベースへのアクセスに使用する認証情報を定義できます。データベースのアクセス認証情報の定義は任意となっています。アプリケーションのデータソースを設定する際に、この手順を省略できます。

前提条件

  • Quarkus Maven プロジェクトがあること。
  • データソースの db-kind プロパティーを設定していること。
  • Quarkus アプリケーションが JVM モードになっていること。この前提条件は、Quarkus がネイティブモードでサポートしない JDBC ドライバーを使用する場合に該当します。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルで、アプリケーションがデータベースにアクセスするために使用するユーザー名と一致するように、quarkus.datasource.username プロパティーの値を設定します。

    quarkus.datasource.username=<username>
    Copy to Clipboard Toggle word wrap
  3. src/main/resources/application.properties ファイルで、アプリケーションがデータベースへのアクセスに使用するパスワードと一致するように、quarkus.datasource.password プロパティーの値を設定します。

    quarkus.datasource.password=<password>
    Copy to Clipboard Toggle word wrap

1.3. ビルトインデータベース向けの Quarkus ドライバーエクステンション

以下の表は、Quarkus ビルトインデータベースと、アプリケーションをリレーショナルデータベースに接続するために使用できるエクステンションの概要を示しています。

Expand
表1.1 Quarkus のビルトインデータベース用のドライバーエクステンション
データベースビルトインdb-kindAgroal エクステンションリアクティブエクステンション

DB2

db2

quarkus-jdbc-db2

quarkus-reactive-db2-client

Derby

derby

quarkus-jdbc-derby

該当なし

H2

h2

quarkus-jdbc-h2

該当なし

MariaDB

mariadb

quarkus-jdbc-mariadb

quarkus-reactive-mysql-client

Microsoft SQL Server

mssql

quarkus-jdbc-mssql

該当なし

MySQL

mysql

quarkus-jdbc-mysql

quarkus-reactive-mysql-client

PostgreSQL

postgresqlpgsql、または pg

quarkus-jdbc-postgresql

quarkus-reactive-pg-client

H2 データベースおよび Derby データベースを組み込みモードで実行するように設定できます。H2 ドライバーおよび Derby ドライバーのエクステンションは、組み込みデータベースエンジンをネイティブ実行可能ファイルにコンパイルすることはサポートしません。

重要

この表には、サポート対象アーティファクトおよびコミュニティーアーティファクトが含まれます。サポート対象 Maven アーティファクトの一覧は、「Red Hat build of Quarkus Component Details」 ページを参照してください。

ビルトインデータベースのいずれかを使用すると、JDBC ドライバーは以下の値に自動的に解決されます。

Expand
表1.2 Quarkus ビルトインデータベースの JDBC および XA ドライバー
データベースJDBC ドライバーXA ドライバー

DB2

com.ibm.db2.jcc.DBDriver

com.ibm.db2.jcc.DB2XADataSource

Derby

org.apache.derby.jdbc.ClientDriver

org.apache.derby.jdbc.ClientXADataSource

H2

org.h2.Driver

org.h2.jdbcx.JdbcDataSource

MariaDB

org.mariadb.jdbc.Driver

org.mariadb.jdbc.MySQLDataSource

Microsoft SQL Server

com.microsoft.sqlserver.jdbc.SQLServerDriver

com.microsoft.sqlserver.jdbc.SQLServerXADataSource

MySQL

com.mysql.cj.jdbc.Driver

com.mysql.cj.jdbc.MysqlXADataSource

PostgreSQL

org.postgresql.Driver

org.postgresql.xa.PGXADataSource

注記

H2 データベースおよび Derby データベースを組み込みモードで実行するように設定できます。H2 ドライバーおよび Derby ドライバーのエクステンションは、組み込みデータベースエンジンをネイティブ実行可能ファイルにコンパイルすることはサポートしません。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る