検索

304.9. 例

download PDF

以下の例では、クエリーを実行して行の 一覧 として結果を取得します。各行は Map<String, Object で、キーは列名です。

まず、サンプルに使用するテーブルを設定します。これはユニットテストをベースとしているため、java で行います。

SQL スクリプト createAndPopulateDatabase.sql は、以下のように実行します。

次に、ルートと sql コンポーネントを設定します。sql エンドポイントの前に direct エンドポイントを使用していることに注意してください。これにより、URI( direct:simple )で ダイレクト エンドポイントにエクスチェンジを送信できます。これは、クライアントが長い sql: URI よりも簡単に使用できます。DataSource はレジストリーで検索されるため、標準の Spring XML を使用して DataSource を設定できます。

そして、メッセージをデータベースをクエリーする sql コンポーネントにルーティングする direct エンドポイントで実行します。

以下のように Spring XML で DataSource を設定できます。

 <jee:jndi-lookup id="myDS" jndi-name="jdbc/myDataSource"/>

304.9.1. 名前付きパラメーターの使用

Camel 2.11 から利用可能

以下の指定のルートでは、プロジェクトテーブルからすべてのプロジェクトを取得します。SQL クエリーにはパラメーター :#lic と :#min の 2 つの名前があることに留意してください。
その後、Camel はメッセージボディーまたはメッセージヘッダーからこれらのパラメーターを検索します。上記の例では、名前付きパラメーターに定数値
を使用して 2 つのヘッダーを設定しています。

   from("direct:projects")
     .setHeader("lic", constant("ASF"))
     .setHeader("min", constant(123))
     .to("sql:select * from projects where license = :#lic and id > :#min order by id")

メッセージボディーが java.util.Map の場合、名前付きパラメーターはボディーから取得されます。

   from("direct:projects")
     .to("sql:select * from projects where license = :#lic and id > :#min order by id")
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.