アプリケーションからデータベースへの接続

進行中のベータリリース​: クラウド IDE は進行中のベータリリースです。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。

データベース用 Anypoint Connector (Database Connector) を使用して、Mule フローから外部データベースに接続します。

始める前に

American Flights アプリケーションを開く

  1. Anypoint Code Builder で ​american-ws-anypoint-code-builder.xml​ を開きます。

  2. 設定 XML から ​<set-payload>​ コンポーネントを削除します。

    <set-payload value="Flight info" doc:name="Set Response" />

データベースドライバー連動関係を追加する

Database Connector ではさまざまな Java Database Connectivity (JDBC) データベースがサポートされます。

mySQL​ ドライバーの連動関係を指定します。

  1. Cmd+Shift+e (Mac) または Ctrl+Shift+e (Windows) を押して、​[Explorer]​ メニューを開きます。

  2. pom.xml​ ファイルを開きます。

  3. <dependencies/>​ 要素内で新しい連動関係を追加します。

    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>8.0.29</version>
    </dependency>
    新しい連動関係が強調表示されている pom.xml
  4. ポップアップに「​A build file was modified. Do you want to synchronize the Java classpath/configuration? (ビルドファイルが変更されました。Java クラスパス/設定を同期しますか?)​」というメッセージが表示されたら、​[Yes (はい)]​ を選択します。

  5. pom.xml​ で、​mule-maven-plugin​ 内の既存の ​<configuration/>​ 要素を新しい共有ライブラリに置き換えます。

    <plugin>
        <groupId>org.mule.tools.maven</groupId>
        <artifactId>mule-maven-plugin</artifactId>
        <version>${mule.maven.plugin.version}</version>
        <extensions>true</extensions>
        <configuration>
         <sharedLibraries>
           <sharedLibrary>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
           </sharedLibrary>
         </sharedLibraries>
        </configuration>
    </plugin>
  6. 要求された場合、​[Yes (はい)]​ を受け入れて Java クラスパスを同期します。

  7. Database Connector 設定を追加​に進みます。

Database Connector 設定を追加

  1. Anypoint Code Builder で ​american-ws-anypoint-code-builder.xml​ を開きます。

  2. 設定 XML でグローバル ​<db:config/>​ スニペットを追加します。

    1. <flow> 開始タグの前にカーソルを置きます。

    2. Ctrl+Spacebar (Mac) または Cmd+Spacebar (Windows) を押します。

    3. 「mysql」​と入力して、スニペットを検索します。

    4. スニペット ​[db:mysql-config]​ を選択します。

      <flow> 開始タグの前のスニペット XML:
      <db:config name="Mysql_Database_Config" >
        <db:my-sql-connection host="${mysql.host}" port="${mysql.port}"
            user="${mysql.username}" password="${mysql.password}"
            database="${mysql.database}" />
      </db:config>
      
      <flow name="getFlights" >
      ...
    5. 次の XML 設定を生成するように ​<db:config/>​ 内の属性を編集します。

      <db:config name="Database_Config" doc:name="mySQL DB">
          <db:my-sql-connection
            host="mudb.learn.mulesoft.com"
            port="3306"
            user="mule"
            password="mule"
            database="training" />
      </db:config>
  3. 完成した設定 XML を確認します。

    <http:listener-config name="inbound-request" doc:name="HTTP Config">
        <http:listener-connection host="0.0.0.0" port="8081" />
    </http:listener-config>
    
    <db:config name="Database_Config" doc:name="mySQL DB">
        <db:my-sql-connection host="mudb.learn.mulesoft.com" port="3306"
            user="mule" password="mule" database="training" />
    </db:config>
    
    <flow name="getFlights">
        <http:listener path="flights" config-ref="inbound-request"
              doc:name="HTTP /flights" />
    </flow>
  4. すべてのフライトを返すクエリを記述する​に進みます。

すべてのフライトを返すクエリを記述する

  1. キャンバス UI で HTTP Listener コンポーネントの後の ​​ (​[Add component (コンポーネントを追加)]​) アイコンをクリックします。

  2. データベース用 Anypoint Connector (Database Connector) の ​Select​ 操作を追加します。

    Select​ を検索するか、​[Connectors (コネクタ)]​ > ​[Database (データベース)]​ > ​[Select]​ から操作に移動します。

  3. スニペットで次の設定を指定します。

    • キャンバス UI から

    • 設定 XML から

    [Select]​ 操作をクリックして、その設定パネルを開き、Select の属性を次の値に設定します。

    設定パネルを使用した Select コネクタの設定
    1 コネクタ名を ​[Query Flights (フライトを照会)]​ に変更します。
    2 コネクタ設定ドロップダウンメニューから ​[Database_Config]​ を選択します。
    3 [Query (クエリ)]​ 属性を ​[Select * FROM american]​ に設定します。

    <db:select/>​ で、属性を例で指定された値に設定します。

    <db:select doc:name="Query Flights" config-ref="Database_Config" >
      <db:sql>
        <![CDATA[Select * FROM american]]>
      </db:sql>
    </db:select>

    config-ref​ 属性では ​<db:config/>​ のデータベース接続設定をその​名前​で参照します。

  4. 完成した設定 XML を確認します。

    <http:listener-config name="inbound-request" doc:name="HTTP Config">
        <http:listener-connection host="0.0.0.0" port="8081" />
    </http:listener-config>
    
    <db:config name="Database_Config" doc:name="mySQL DB">
        <db:my-sql-connection host="mudb.learn.mulesoft.com" port="3306"
            user="mule" password="mule" database="training" />
    </db:config>
    
    <flow name="getFlights">
        <http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" />
        <db:select doc:name="Query Flights" config-ref="Database_Config" doc:id="qcnfxf" >
            <db:sql>
                <![CDATA[Select * FROM american]]>
            </db:sql>
        </db:select>
    </flow>
  5. DataWeave を使用したフライトデータの変換に進み、DataWeave を使用して American Flight API 仕様でデータベース応答の一致の例を作成する方法を確認します。