Quarkus アプリケーションでのデータソースの設定

Red Hat build of Quarkus 1.11

概要

ビルトインデータベースドライバーのエクステンションを使用して、Quarkus アプリケーションのデータソースを設定し、アプリケーションをリレーショナルデータベースに接続します。

Red Hat ドキュメントへのフィードバック (英語のみ)

弊社の技術的な内容についてのフィードバックに感謝します。ご意見をお聞かせください。コメントの追加、Insights の提供、誤字の修正、および質問を行う必要がある場合は、ドキュメントで直接行うこともできます。

注記

Red Hat アカウントがあり、カスタマーポータルにログインしている必要があります。

カスタマーポータルからドキュメントのフィードバックを送信するには、以下の手順を実施します。

  1. Multi-page HTML 形式を選択します。
  2. ドキュメントの右上にある Feedback ボタンをクリックします。
  3. フィードバックを提供するテキストのセクションを強調表示します。
  4. ハイライトされたテキストの横にある Add Feedback ダイアログをクリックします。
  5. ページの右側のテキストボックスにフィードバックを入力し、送信 をクリックします。

フィードバックを送信すると、自動的に問題の追跡が作成されます。Submit をクリックすると表示されるリンクを開き、問題の監視を開始するか、さらにコメントを追加します。

貴重なフィードバックにご協力いただきありがとうございます。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第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

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>
  3. src/main/resources/application.properties ファイルで、アプリケーションがデータベースへのアクセスに使用するユーザー名と一致するように quarkus.datasource.password プロパティーの値を設定します。

    quarkus.datasource.password=<password>

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

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

表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 ドライバーは以下の値に自動的に解決されます。

表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 ドライバーのエクステンションは、組み込みデータベースエンジンをネイティブ実行可能ファイルにコンパイルすることはサポートしません。

第2章 JDBC データソースの設定

JDBC は、Java ベースのアプリケーションで最も一般的に使用されているデータベース接続 API です。JDBC データソースドライバーを使用して、アプリケーションをリレーショナルデータベースに接続できます。

JDBC データソースを設定するには、以下を行う必要があります。

  • quarkus-agroal エクステンションのアプリケーションへの追加
  • アプリケーションへの db-kind エクステンションの追加
  • アプリケーションがデータソースにアクセスするために使用する JDBC URL の指定

以下の例は、postgresql データソースをアプリケーションに接続し、データベースのアクセス認証情報と JDBC URL を指定する方法を示しています。JDBC URL の指定方法に関する詳細は、データソースの JDBC URL の設定 を参照してください。

JDBC データソースの設定例

quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=<your_username>
quarkus.datasource.password=<your_password>

quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/hibernate_orm_test
quarkus.datasource.jdbc.max-size=16

2.1. JDBC データソースの Quarkus エクステンションのインストール

JDBC データソースを設定するには、quarkus-agroal エクステンションおよび Quarkus JDBC データベースドライバーエクステンションをインストールする必要があります。追加する JDBC データベースドライバーは、使用する JDBC データベースのタイプと一致する必要があります。

以下の手順では、JDBC データソースの Quarkus エクステンションをインストールする方法を説明します。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • データソースの db-kind プロパティーを設定している。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. quarkus-agroal エクステンションをプロジェクトに追加します。

    ./mvnw quarkus:add-extension -Dextensions="agroal"
  3. 適切なタイプのリレーショナルデータベースドライバーの Quarkus エクステンションをアプリケーションに追加します。

    ./mvnw quarkus:add-extension -Dextensions="<extension>"

    たとえば、PostgreSQL データベースドライバーエクステンションを追加するには、以下を使用します。

    ./mvnw quarkus:add-extension -Dextensions="jdbc-postgresql"
注記

Hibernate ORM を使用している場合は、Agroal エクステンションの依存関係を明示的に追加する必要はありません。Agroal は、Hibernate ORM エクステンションの推移的な依存関係です。Hibernate ORM で JDBC データソースドライバーを使用する必要があります。

2.2. データソースの JDBC URL の設定

JDBC データソースの設定を完了するには、JDBC URL を設定する必要があります。以下の手順は、JDBC URL の設定方法を示しています。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • 対応するデータソースドライバーをアプリケーションに追加している。
  • データソースの db-kind プロパティーを設定している。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルを開きます。
  3. データソースの JDBC URL に一致するように、quarkus.datasource.jdbc.url プロパティーの値を設定します。

    quarkus.datasource.jdbc.url=<JDBC_URL>

    たとえば、PostgreSQL データソースの JDBC URL を設定するには、以下を使用します。

    quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/hibernate_orm_test

2.3. Hibernate ORM を使用した JDBC データソースの取得

Hibernate ORM を使用している場合は、アプリケーションが自動的に認識し、利用可能な JDBC データソースに接続します。アプリケーションコードでデータソースにアクセスするには、CDI Bean として取得できます。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • Hibernate ORM がインストールされている。

手順

  • アプリケーションコードでデータソースにアクセスするには、@Inject アノテーションを dataSource プロパティーに追加します。

    import javax.sql.DataSource;
    
    @Inject DataSource dataSource;

2.4. 同時設定での JDBC データソースの無効化

アプリケーションの同じデータソース用に、JDBC ドライバーエクステンションとリアクティブドライバーエクステンションを同時に設定できます。同時設定で JDBC データソースドライバーを無効にできることから、アプリケーションがリアクティブデータソースドライバーを使用するように強制できます。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • アプリケーションに、JDBC データソースドライバーとリアクティブデータソースドライバーを同時に設定している。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルを開きます。
  3. quarkus.datasource.jdbc プロパティーを false に設定して JDBC データソースを無効にします。

    quarkus.datasource.jdbc=false

2.5. ビルトインドライバーエクステンションのない JDBC ドライバーの設定

ビルトインドライバーエクステンションのない JDBC ドライバーおよびデータベースを使用できます。以下の手順は、ビルトインエクステンションのない JDBC ドライバーの設定方法を示しています。

注記

Quarkus アプリケーションを JVM モードで使用している間は、任意の JDBC ドライバーを使用できます。Quarkus をネイティブ実行可能ファイルとしてコンパイルすると、含まれていない JDBC ドライバーが正しく機能しない可能性があります。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • Quarkus アプリケーションが JVM モードになっている。
  • プロジェクトの pom.xml ファイルに、依存関係として使用するデータソースドライバーが追加されている。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルを開きます。
  3. db-kind プロパティーの値を other に設定します。

    quarkus.datasource.db-kind=other
  4. 使用するドライバーエクステンションのタイプに一致するように、quarkus.datasource.jdbc.driver プロパティーの値を設定します。

    quarkus.datasource.jdbc.driver=<driver>
  5. データソースの JDBC URL に一致するように、quarkus.datasource.jdbc.url プロパティーの値を設定します。

    quarkus.datasource.jdbc.url=<JDBC_URL>

    たとえば、Quarkus は OpenTracing ドライバーのビルトインドライバーエクステンションを提供しません。opentracing-jdbc アーティファクトを pom.xml ファイルに追加し、application.properties ファイルに以下のプロパティーを設定して OpenTracing ドライバーを設定します。

    quarkus.datasource.db-kind=postgresql
    quarkus.datasource.jdbc.url=jdbc:tracing:postgresql://localhost:5432/mydatabase
    quarkus.datasource.jdbc.driver=io.opentracing.contrib.jdbc.TracingDriver
    quarkus.hibernate-orm.dialect=org.hibernate.dialect.PostgreSQLDialect

2.6. 複数の JDBC データソースの設定

Agroal を使用して、Quarkus アプリケーションの複数の JDBC データソースを設定できます。

注記

Hibernate ORM エクステンションを使用する場合は、複数の永続データストレージユニットをアプリケーションに追加できます。永続ユニットごとに、選択したデータソースを参照できます。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • JDBC データソースが複数ある。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルで、データソースごとに次のプロパティーを設定します。

    以下の例は、3 つの JDBC データソースの完全な設定を示しています。

    quarkus.datasource.db-kind=h2 1
    quarkus.datasource.username=username-default 2
    quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:default 3
    quarkus.datasource.jdbc.min-size=3 4
    quarkus.datasource.jdbc.max-size=13 5
    
    quarkus.datasource.users.db-kind=h2 6
    quarkus.datasource.users.username=username1
    quarkus.datasource.users.jdbc.url=jdbc:h2:tcp://localhost/mem:users
    quarkus.datasource.users.jdbc.min-size=1
    quarkus.datasource.users.jdbc.max-size=11
    
    quarkus.datasource.inventory.db-kind=h2
    quarkus.datasource.inventory.username=username2
    quarkus.datasource.inventory.jdbc.url=jdbc:h2:tcp://localhost/mem:inventory
    quarkus.datasource.inventory.jdbc.min-size=2
    quarkus.datasource.inventory.jdbc.max-size=12
    1
    使用するデータソースのタイプ
    2
    データソースのユーザー名
    3
    データソースの JDBC 接続 URL
    4
    データソースの接続プールで保持される接続の最小数
    5
    データソースの接続プールで保持される接続の最大数
    6
    データソースの名前に users を選択した場合、データソースの完全修飾参照は quarkus.datasource.users になります。
  3. @Inject アノテーションを各クラスプロパティーに追加して、複数のデータソースを注入します。アプリケーションに複数のデータソースを設定する場合は、データソースの名前を持つ io.quarkus.agroal.DataSource 修飾子を値として各 DataSource クラスに追加してください。

    import javax.inject.Inject;
    import io.agroal.api.AgroalDataSource;
    import io.quarkus.agroal.DataSource;
    
    @Inject
    AgroalDataSource defaultDataSource;
    
    @Inject
    @DataSource("users")
    AgroalDataSource usersDataSource;
    
    @Inject
    @DataSource("inventory")
    AgroalDataSource inventoryDataSource;

第3章 リアクティブデータソースの設定

リアクティブデータソースドライバーを使用して、アプリケーションをリレーショナルデータベースに接続できます。

3.1. リアクティブデータソース接続 URL の設定

データソースの設定を完了するには、リアクティブデータソースの接続 URL を設定する必要があります。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • リアクティブデータソースドライバーをアプリケーションに追加している。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルで、リアクティブデータソースの接続 URL に一致するように quarkus.datasource.reactive.url プロパティーの値を設定します。

    quarkus.datasource.reactive.url=<datasource_URL>

    たとえば、PostgreSQL データソースのリアクティブデータソース接続 URL を設定するには、以下を実行します。

    quarkus.datasource.reactive.url=postgresql:///your_database
  3. オプションで、データソースの接続プールで接続の最大数を設定し、アプリケーションのパフォーマンスを向上させることができます。

    quarkus.datasource.reactive.max-size=20

    たとえば、リアクティブデータソースドライバーを持つ postgresql データソースを追加するには、以下のコマンドを実行します。

    quarkus.datasource.db-kind=postgresql
    quarkus.datasource.username=<your_username>
    quarkus.datasource.password=<your_password>
    
    quarkus.datasource.reactive.url=postgresql://localhost:5432/quarkus_test_database
    quarkus.datasource.reactive.max-size=20

3.2. 同時設定でのリアクティブデータソースの無効化

アプリケーションの同じデータソース用に、リアクティブドライバーエクステンションと JDBC ドライバーエクステンションを同時に設定できます。同時設定でリアクティブデータソースドライバーを無効にできることから、アプリケーションが JDBC データソースドライバーを使用するように強制できます。

前提条件

  • Quarkus Maven プロジェクトが存在する。
  • アプリケーションに、JDBC データソースドライバーとリアクティブデータソースドライバーを同時に設定している。

手順

  1. Quarkus プロジェクトディレクトリーに移動します。
  2. src/main/resources/application.properties ファイルを開きます。
  3. quarkus.datasource.reactive プロパティーを false に設定して、リアクティブデータソースを無効にします。

    quarkus.datasource.reactive=false

第4章 データソース管理

アプリケーションプロパティーを使用して追加機能を有効にし、データソースを管理できます。

4.1. データソースヘルスチェック

Kubernetes などの外部システムは、データソースでヘルスチェックを実行し、アプリケーションが要求に応答できるかどうかを判断します。

quarkus-smallrye-health エクステンションを使用している場合は、quarkus-agroal エクステンションおよびリアクティブクライアントエクステンションが自動的に readiness ヘルスチェックを追加してデータソースを検証します。

データソースの検証ステータスに関する情報を表示するには、アプリケーションの /health/ready エンドポイントにアクセスします。複数のデータソースがある場合、アプリケーションはすべてのデータソースをチェックし、データソースの検証エラーがあると、それらのステータスはエンドポイントで DOWN と一覧表示されます。

この動作は、quarkus.datasource.health.enabled プロパティーを使用して無効にできます。

4.2. データソースメトリクス

quarkus-smallrye-metrics または quarkus-micrometer エクステンションを使用する場合、quarkus-agroal エクステンションにより出力されるメトリクスは、メトリクスエンドポイント /q/metrics で公開されます。

すべてのデータソースのメトリクスを有効にするには、quarkus.datasource.jdbc.enable-metrics プロパティーを true に設定します。すべてのデータソースのメトリクスを無効にするには、quarkus.datasource.jdbc.enable-metrics プロパティーを false に設定します。

データソースメトリクスを有効にしている場合 (quarkus.datasource.jdbc.enable-metrics=true) は、名前付きデータソースの quarkus.datasource.<datasource_name>.jdbc.enable-metrics プロパティーを false に設定すると、特定のデータソースのメトリクスを無効にすることができます。

データソースメトリクスが無効の場合 (quarkus.datasource.jdbc.enable-metrics=false)、名前付きデータソースの quarkus.datasource.<datasource_name>.jdbc.enable-metrics プロパティーを true に設定すると、特定のデータソースのメトリクスを有効にできます。

この機能を使用して、収集したメトリクスにプログラムを使用してアクセスできます。収集したメトリクスは、注入された AgroalDataSource インスタンスで dataSource.getMetrics() メソッドの呼び出し後に利用できます。データソースのメトリクスの収集が無効になっている場合は、すべての値がゼロになります。

4.3. Narayana Transaction Manager インテグレーション

Narayana Transaction Manager インテグレーションは、quarkus-narayana-jta エクステンションが利用可能な場合に自動的に追加されます。

quarkus.datasource.jdbc.transactions 設定プロパティーを設定することで、これを上書きできます。

4.4. インメモリーデータベースでのテスト

本番環境で使用する予定のデータベースを使用します。コンテナー技術により、これは簡単に実現できます。JVM がサポートするデータベースを使用して、インテグレーションテストを実行することもできます。H2 データベースおよび Derby データベースは、一般的に組み込みモードで使用され、インテグレーションテストの実行に使用されます。

組み込みエンジンは JVM モードで適切に機能しますが、ネイティブ実行可能ファイルにコンパイルすることはできません。Quarkus は、データベースエンジン全体のネイティブ実行可能ファイルへの組み込みをサポートしません。

JVM またはネイティブ実行可能ファイル、もしくはその両方で統合テストを実行する場合は、統合テストの任意のクラスに @QuarkusTestResource(H2DatabaseTestResource.class) または @QuarkusTestResource(DerbyDatabaseTestResource.class) を追加できます。テストスイートは、テストの実行に必要な個別のプロセスとして組み込みデータベースを開始および停止できるようになりました。

@QuarkusTestResource(H2DatabaseTestResource.class) および @QuarkusTestResource(DerbyDatabaseTestResource.class) は、H2 および Derby の場合にそれぞれ、Maven コーディネート io.quarkus:quarkus-test-h2 および io.quarkus:quarkus-test-derby を持つアーティファクトによって提供されます。

以下の例は、H2 データベースでヘルパーを使用する方法を示しています。

package my.app.integrationtests.db;

import io.quarkus.test.common.QuarkusTestResource;
import io.quarkus.test.h2.H2DatabaseTestResource;

@QuarkusTestResource(H2DatabaseTestResource.class)
public class TestResources {
}

これにより、データベースが通常どおりに JVM で実行される間、アプリケーションがネイティブ実行可能ファイルにコンパイルされていても、アプリケーションをテストできます。

以下を使用して接続します。

quarkus.datasource.db-kind=h2
quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:test

付録A 実稼働および開発をサポートするデータベースの JDBC データベース接続 URL

JDBC データベース接続 URL を使用して、リレーショナルデータベースに接続できます。各データベースには、データベース自体およびその他の設定プロパティーに関する情報が含まれる、独自形式のデータベース URL があります。

以下の例は、Red Hat ビルドの Quarkus でテストしたデータベースの JDBC データベース接続 URL を示しています。サポート対象データベースおよびバージョンの詳細は、Red Hat build of Quarkus Supported Configurations を参照してください。

A.1. PostgreSQL データベース URL の例

PostgreSQL はサーバーとしてのみ実行されます。接続の詳細を指定するか、デフォルト値を使用する必要があります。

設定オプション

jdbc:postgresql:[//][host][:port][/database][?key=value…​]

jdbc:postgresql://localhost/test

A.2. MariaDB データベース URL の例

MariaDB はサーバーとしてのみ実行されます。接続の詳細を指定するか、デフォルト値を使用する必要があります。

設定オプション

jdbc:mariadb:[replication:|failover:|sequential:|aurora:]//<hostDescription>[,<hostDescription>…​]/[database][?<key1>=<value1>[&<key2>=<value2>]] hostDescription:: <host>[:<portnumber>] or address=(host=<host>)[(port=<portnumber>)][(type=(master|slave))]

jdbc:mariadb://localhost:3306/test

A.3. MySQL データベース URL の例

MySQL はサーバーとしてのみ実行されます。接続の詳細を指定するか、デフォルト値を使用する必要があります。

設定オプション

jdbc:mysql:[replication:|failover:|sequential:|aurora:]//<hostDescription>[,<hostDescription>…​]/[database][?<key1>=<value1>[&<key2>=<value2>]] hostDescription:: <host>[:<portnumber>] or address=(host=<host>)[(port=<portnumber>)][(type=(master|slave))]

jdbc:mysql://localhost:3306/test

A.4. Microsoft SQL Server データベース URL の例

Microsoft SQL Server は、別の値を指定しない場合はデフォルトのシステム値を使用します。Microsoft SQL Server の JDBC ドライバーは、他のドライバーと同じように機能します。接続 URL は、以下の形式にする必要があります。

設定オプション

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks

付録B 開発をサポートするデータベースの JDBC データベース接続 URL

JDBC データベース接続 URL を使用して、リレーショナルデータベースに接続できます。各データベースには、データベース自体およびその他の設定プロパティーに関する情報が含まれる、独自形式のデータベース URL があります。

以下の例は、開発をサポートするデータベースの JDBC データベース接続 URL を示しています。開発サポートの詳細は、開発サポートの対象範囲 を参照してください。

B.1. Derby データベース URL の例

Derby は組み込みデータベースで、ファイルに基づいてサーバーとして実行したり、メモリー内で稼働したりできます。

設定オプション

jdbc:derby:[//serverName[:portNumber]/][memory:]databaseName[;property=value[;property=value]]

jdbc:derby://localhost:1527/myDB, jdbc:derby:memory:myDB;create=true

B.2. H2 データベース URL の例

H2 は組み込みデータベースで、ファイルに基づいてサーバーとして実行したり、完全にメモリー内で稼働したりできます。

設定オプション

jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value…​]

jdbc:h2:tcp://localhost/~/test, jdbc:h2:mem:myDB

改訂日時: 2023-05-16

法律上の通知

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.