📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

Spring Bootを使用してTiDBに接続する



は MySQL 互換データベースであり、 Java用の人気のあるオープンソース コンテナ フレームワークです。このドキュメントでは Spring の使用方法としてスプリングブーツを使用します。

このチュートリアルでは、TiDBをSpring Data JPAおよびJPAプロバイダとしてのハイバネイトと組み合わせて使用​​し、以下のタスクを実行する方法を学びます。

  • 環境をセットアップしてください。
  • HibernateとSpring Data JPAを使用してTiDBに接続します。
  • アプリケーションをビルドして実行します。オプションで、基本的な CRUD 操作用のサンプルコードスニペットを見つけることができます。

注記:

このチュートリアルは、 TiDB Cloud Starter、 TiDB Cloud Essential、 TiDB Cloud Dedicated、およびTiDB Self-Managedに対応しています。

前提条件

このチュートリアルを完了するには、以下が必要です。

  • Java Development Kit (JDK) 17以降が必要です。業務要件や個人のニーズに応じて、 OpenJDKまたはOracle JDKを選択できます。
  • メイブン3.8以上。
  • Git
  • TiDBクラスタ。

TiDBクラスタをお持ちでない場合は、以下の手順で作成できます。

TiDBに接続するには、サンプルアプリを実行してください。

このセクションでは、サンプルアプリケーションコードを実行してTiDBに接続する方法を説明します。

ステップ1:サンプルアプリのリポジトリをクローンする

サンプルコードリポジトリをクローンするには、ターミナルウィンドウで以下のコマンドを実行してください。

git clone https://github.com/tidb-samples/tidb-java-springboot-jpa-quickstart.git cd tidb-java-springboot-jpa-quickstart

ステップ2:接続情報を設定する

選択したTiDBのデプロイオプションに応じて、TiDBに接続してください。

    1. 私のTiDBページに移動し、対象のTiDB Cloud StarterまたはEssentialインスタンスの名前をクリックして、概要ページに移動します。

    2. 右上隅の「接続」をクリックしてください。接続ダイアログが表示されます。

    3. 接続ダイアログの設定がご使用のオペレーティング環境と一致していることを確認してください。

      • 接続タイプPublicに設定されています。

      • ブランチmainに設定されています。

      • Connect With はGeneralに設定されています。

      • お使いの環境に合ったオペレーティングシステムを選択してください。

      ヒント:

      プログラムがWindows Subsystem for Linux(WSL)上で実行されている場合は、対応するLinuxディストリビューションに切り替えてください。

    4. 「パスワードを生成」をクリックすると、ランダムなパスワードが生成されます。

      ヒント:

      以前にパスワードを作成したことがある場合は、元のパスワードを使用するか、 「パスワードをリセット」をクリックして新しいパスワードを生成できます。

    5. env.sh.exampleをコピーしてenv.shに名前を変更するには、次のコマンドを実行します。

      cp env.sh.example env.sh
    6. 対応する接続​​文字列env.shファイルにコピー&ペーストしてください。例は以下のとおりです。

      export TIDB_HOST='{host}' # e.g. gateway01.ap-northeast-1.prod.aws.tidbcloud.com export TIDB_PORT='4000' export TIDB_USER='{user}' # e.g. xxxxxx.root export TIDB_PASSWORD='{password}' export TIDB_DB_NAME='test' export USE_SSL='true'

      必ずプレースホルダー{}を、接続ダイアログから取得した接続パラメータに置き換えてください。

      TiDB Cloud Starter は安全な接続を必要とします。そのため、 USE_SSLの値をtrueに設定する必要があります。

    7. env.shファイルを保存します。

    1. 私のTiDBページに移動し、対象のTiDB Cloud Dedicatedクラスタの名前をクリックして概要ページに移動します。

    2. 右上隅の「接続」をクリックしてください。接続ダイアログが表示されます。

    3. 接続ダイアログで、「接続タイプ」ドロップダウンリストから「パブリック」を選択し、 「CA証明書」をクリックしてCA証明書をダウンロードします。

      IP アクセス リストを設定していない場合は、最初の接続の前に、 [IP アクセス リストの設定] をクリックするか、「IP アクセス リストを設定する」の手順に従ってIPアクセスリストを設定する

      TiDB Cloud Dedicated は、パブリック接続タイプに加えて、プライベート エンドポイントおよびVPC ピアリング接続タイプもサポートしています。詳細については、 TiDB Cloud Dedicatedクラスタに接続します参照してください。

    4. env.sh.exampleをコピーしてenv.shに名前を変更するには、次のコマンドを実行します。

      cp env.sh.example env.sh
    5. 対応する接続​​文字列env.shファイルにコピー&ペーストしてください。例は以下のとおりです。

      export TIDB_HOST='{host}' # e.g. tidb.xxxx.clusters.tidb-cloud.com export TIDB_PORT='4000' export TIDB_USER='{user}' # e.g. root export TIDB_PASSWORD='{password}' export TIDB_DB_NAME='test' export USE_SSL='false'

      必ずプレースホルダー{}を、接続ダイアログから取得した接続パラメータに置き換えてください。

    6. env.shファイルを保存します。

    1. env.sh.exampleをコピーしてenv.shに名前を変更するには、次のコマンドを実行します。

      cp env.sh.example env.sh
    2. 対応する接続​​文字列env.shファイルにコピー&ペーストしてください。例は以下のとおりです。

      export TIDB_HOST='{host}' export TIDB_PORT='4000' export TIDB_USER='root' export TIDB_PASSWORD='{password}' export TIDB_DB_NAME='test' export USE_SSL='false'

      プレースホルダー{}を接続パラメータに置き換え、 USE_SSL falseに設定してください。TiDB をローカルで実行している場合、デフォルトのホスト アドレスは127.0.0.1で、パスワードは空です。

    3. env.shファイルを保存します。

    ステップ3:コードを実行して結果を確認する

    1. サンプルコードを実行するには、以下のコマンドを実行してください。

      make
    2. 別のターミナルセッションでリクエストスクリプトを実行してください。

      make request
    3. 期待される出力.txtをチェックして、出力が一致するかどうかを確認してください。

    サンプルコードスニペット

    以下のサンプルコードスニペットを参考に、独自のアプリケーション開発を完成させてください。

    完全なサンプルコードと実行方法については、 tidb-samples/tidb-java-springboot-jpa-quickstartリポジトリを参照してください。

    TiDBに接続する

    設定ファイルapplication.ymlを編集します。

    spring: datasource: url: ${TIDB_JDBC_URL:jdbc:mysql://localhost:4000/test} username: ${TIDB_USER:root} password: ${TIDB_PASSWORD:} driver-class-name: com.mysql.cj.jdbc.Driver jpa: show-sql: true database-platform: org.hibernate.dialect.TiDBDialect hibernate: ddl-auto: create-drop

    設定後、環境変数TIDB_JDBC_URLTIDB_USER 、およびTIDB_PASSWORDを、ご使用の TiDB の実際の値に設定してください。設定ファイルには、これらの環境変数のデフォルト設定が記載されています。環境変数を設定しない場合、デフォルト値は次のようになります。

    • TIDB_JDBC_URL : "jdbc:mysql://localhost:4000/test"
    • TIDB_USER : "root"
    • TIDB_PASSWORD : ""

    データ管理: @Repository

    Spring Data JPA は@Repositoryインターフェースを介してデータを管理します。 JpaRepositoryが提供する CRUD 操作を使用するには、 JpaRepositoryインターフェースを拡張する必要があります。

    @Repository public interface PlayerRepository extends JpaRepository<PlayerBean, Long> { }

    次に、 @Autowiredを必要とするクラスにPlayerRepository使用して自動依存性注入を行うことができます。これにより、CRUD関数を直接使用できるようになります。以下に例を示します。

    @Autowired private PlayerRepository playerRepository;

    データを挿入または更新する

    playerRepository.save(player);

    詳細については、データを挿入するデータの更新を参照してください。

    クエリデータ

    PlayerBean player = playerRepository.findById(id).orElse(null);

    詳細については、 クエリデータを参照してください。

    データを削除する

    playerRepository.deleteById(id);

    詳細については、データを削除するを参照してください。

    次のステップ

    お困りですか?

    このページは役に立ちましたか?