Azure SQL Database で Spring Data JPA を使用する方法How to use Spring Data JPA with Azure SQL Database

概要Overview

この記事では、Spring Data を使用して、Java Persistence API (JPA) を使って Azure SQL Database 内の情報を格納および取得するサンプル アプリケーションを作成する方法を説明します。This article demonstrates creating a sample application that uses Spring Data to store and retrieve information in an Azure SQL Database using Java Persistence API (JPA).

前提条件Prerequisites

この記事の手順を実行するには、次の前提条件を満たす必要があります。The following prerequisites are required in order to complete the steps in this article:

Azure SQL Database の作成Create an Azure SQL Database

Azure Portal を使用して SQL データベース サーバーを作成するCreate a SQL database server using the Azure Portal

注意

Azure SQL データベースの作成に関する詳細については、Azure portal での Azure SQL データベースの作成に関するページを参照してください。You can read more detailed information about creating Azure SQL databases in Create an Azure SQL database in the Azure portal.

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。Browse to the Azure portal at https://portal.azure.com/ and sign in.

  2. [+ リソースの作成] をクリックし、 [データベース][SQL Database] の順にクリックします。Click +Create a resource, then Databases, and then click SQL Database.

    SQL Database の作成

  3. 次の情報を指定します。Specify the following information:

    • データベース名: SQL データベース用に一意の名前を選択します。このデータベースが、指定した SQL Server に後で作成されます。Database name: Choose a unique name for your SQL database; this will be created in the SQL server that you will specify later.
    • サブスクリプション:使用する Azure サブスクリプションを指定します。Subscription: Specify your Azure subscription to use.
    • [リソース グループ] :新しいリソース グループを作成するのか、既存のリソース グループを選択するのかを指定します。Resource group: Specify whether to create a new resource group, or choose an existing resource group.
    • ソースの選択:このチュートリアルでは、Blank database を選択して新しいデータベースを作成します。Select source: For this tutorial, select Blank database to create a new database.

    SQL データベースのプロパティを指定する

  4. [サーバー][新しいサーバーの作成] の順にクリックして、次の情報を指定します。Click Server, then Create a new server, and then specify the following information:

    • サーバー名: SQL サーバー用に一意の名前を選択します。この名前は、wingtiptoyssql.database.windows.net のような完全修飾ドメイン名の作成に使用されます。Server name: Choose a unique name for your SQL server; this will be used to create a fully-qualified domain name like wingtiptoyssql.database.windows.net.
    • サーバー管理者ログイン:データベース管理者名を指定します。Server admin login: Specify the database administrator name.
    • [パスワード][パスワードの確認] :データベース管理者のパスワードを指定します。Password and Confirm password: Specify the password for your database administrator.
    • [場所] :データベースに最も近い地理的リージョンを指定します。Location: Specify the closest geographic region for your database.

    SQL サーバーを指定する

  5. 上記の情報をすべて入力したら、 [選択] をクリックします。When you have entered all of the above information, click Select.

  6. このチュートリアルでは、最も安い価格レベルを指定して、 [作成] をクリックします。For this tutorial, specify the least-expensive Pricing tier, and then click Create.

    SQL データベースを作成する

Azure Portal を使用して SQL サーバーのファイアウォール規則を構成するConfigure a firewall rule for your SQL server using the Azure Portal

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。Browse to the Azure portal at https://portal.azure.com/ and sign in.

  2. [すべてのリソース] をクリックし、先ほど作成した SQL サーバーをクリックします。Click All Resources, then click the SQL server you just created.

    SQL サーバーを選択する

  3. [概要] セクションで、 [ファイアウォール設定の表示] をクリックします。In the Overview section, click Show firewall settings

    ファイアウォール設定の表示

  4. [ファイアウォールと仮想ネットワーク] セクションで、規則に一意の名前を指定することで新しい規則を作成し、データベースへのアクセス権を必要とする IP アドレスの範囲を入力して、 [保存] をクリックします。In the Firewalls and virtual networks section, create a new rule by specifying a unique name for the rule, then enter the range of IP addresses that will need access to your database, and then click Save.

    ファイアウォール設定を構成する

Azure Portal を使用して SQL サーバーの接続文字列を取得するRetrieve the connection string for your SQL server using the Azure Portal

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。Browse to the Azure portal at https://portal.azure.com/ and sign in.

  2. [すべてのリソース] をクリックし、先ほど作成した SQL データベースをクリックします。Click All Resources, then click the SQL database you just created.

    SQL データベースを選択する

  3. [接続文字列][JDBC] の順にクリックし、JDBC のテキスト フィールド内の値をコピーします。Click Connection strings, then click JDBC, and copy the value in the JDBC text field.

    JDBC 接続文字列を取得する

サンプル アプリケーションを構成するConfigure the sample application

  1. コマンド シェルを開き、次の例のように git コマンドを使用してサンプル プロジェクトを複製します。Open a command shell and clone the sample project using a git command like the following example:

    git clone https://github.com/Azure-Samples/spring-data-jdbc-on-azure.git
    
  2. サンプル プロジェクトの resources ディレクトリ内で application.properties ファイルを探すか、まだ存在しない場合はファイルを作成します。Locate the application.properties file in the resources directory of the sample project, or create the file if it does not already exist.

  3. テキスト エディターで application.properties ファイルを開き、このファイルに次の行を追加するか構成して、サンプルの値を前半の該当する値に置き換えます。Open the application.properties file in a text editor, and add or configure the following lines in the file, and replace the sample values with the appropriate values from earlier:

    spring.datasource.url=jdbc:sqlserver://wingtiptoyssql.database.windows.net:1433;database=wingtiptoys;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
    spring.datasource.username=wingtiptoysuser@wingtiptoyssql
    spring.datasource.password=********
    

    各値の説明:Where:

    パラメーターParameter 説明Description
    spring.datasource.url この記事の前半の SQL JDBC 文字列の編集されたバージョンを指定します。Specifies an edited version of your SQL JDBC string from earlier in this article.
    spring.datasource.username この記事の前半の SQL 管理者名を指定し、その後に短縮サーバー名を追加します。Specifies your SQL administrator name from earlier in this article, with the shortened server name appended to it.
    spring.datasource.password この記事の前半の SQL 管理者パスワードを指定します。Specifies your SQL administrator password from earlier in this article.
  4. application.properties ファイルを保存して閉じます。Save and close the application.properties file.

サンプル アプリケーションをパッケージ化してテストするPackage and test the sample application

  1. サンプル アプリケーションを Maven でビルドします。次に例を示します。Build the sample application with Maven; for example:

    mvn clean package -P sql
    
  2. サンプル アプリケーションを開始します。次に例を示します。Start the sample application; for example:

    java -jar target/spring-data-jpa-on-azure-0.1.0-SNAPSHOT.jar
    
  3. 次の例のように、コマンド プロンプトから curl を使用して新しいレコードを作成します。Create new records using curl from a command prompt like the following examples:

    curl -s -d '{"name":"dog","species":"canine"}' -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    
    curl -s -d '{"name":"cat","species":"feline"}' -H "Content-Type: application/json" -X POST http://localhost:8080/pets
    

    アプリケーションから次のような値が返されます。Your application should return values like the following:

    Added Pet(id=1, name=dog, species=canine).
    
    Added Pet(id=2, name=cat, species=feline).
    
  4. 次の例のように、コマンド プロンプトから curl を使用して既存のすべてのレコードを取得します。Retrieve all of the existing records using curl from a command prompt like the following examples:

    curl -s http://localhost:8080/pets
    

    アプリケーションから次のような値が返されます。Your application should return values like the following:

    [{"id":1,"name":"dog","species":"canine"},{"id":2,"name":"cat","species":"feline"}]
    

まとめSummary

このチュートリアルでは、Spring Data を使用して、JPA を使って Azure SQL データベース内の情報を格納および取得する Java のサンプル アプリケーションを作成しました。In this tutorial, you created a sample Java application that uses Spring Data to store and retrieve information in an Azure SQL database using JPA.

次の手順Next steps

Spring および Azure の詳細については、Azure ドキュメント センターで引き続き Spring に関するドキュメントをご確認ください。To learn more about Spring and Azure, continue to the Spring on Azure documentation center.

その他のリソースAdditional Resources

Java での Azure の使用の詳細については、「Java 開発者向けの Azure」および「Azure DevOps と Java の操作」を参照してください。For more information about using Azure with Java, see the Azure for Java Developers and the Working with Azure DevOps and Java.