93.3. ヘッダーの値
更新
操作の実行時に、SQL コンポーネントは更新数を以下のメッセージヘッダーに保存します。
ヘッダー | 説明 |
---|---|
|
|
|
|
93.3.1. 例 リンクのコピーリンクがクリップボードにコピーされました!
以下の指定のルートでは、プロジェクトテーブルからすべてのプロジェクトを取得します。SQL クエリーにはパラメーター :#lic と :#min の 2 つの名前があることに留意してください。
その後、Camel はメッセージボディーまたはメッセージヘッダーからこれらのパラメーターを検索します。上記の例では、名前付きパラメーターに定数値
を使用して 2 つのヘッダーを設定しています。
from("direct:projects") .setHeader("lic", constant("ASF")) .setHeader("min", constant(123)) .to("elsql:projects:com/foo/orders.elsql")
from("direct:projects")
.setHeader("lic", constant("ASF"))
.setHeader("min", constant(123))
.to("elsql:projects:com/foo/orders.elsql")
elsql マッピングファイル
@NAME(projects) SELECT * FROM projects WHERE license = :lic AND id > :min ORDER BY id
@NAME(projects)
SELECT *
FROM projects
WHERE license = :lic AND id > :min
ORDER BY id
メッセージボディーが java.util.Map
の場合、名前付きパラメーターはボディーから取得されます。
from("direct:projects") .to("elsql:projects:com/foo/orders.elsql")
from("direct:projects")
.to("elsql:projects:com/foo/orders.elsql")
Camel 2.16.1 以降では、Simple 式も使用できます。これにより、メッセージボディーの OGNL のような表記を使用できます。ここでは、 getLicense
および getMinimum
メソッドがあることを前提としています。
@NAME(projects) SELECT * FROM projects WHERE license = :${body.license} AND id > :${body.minimum} ORDER BY id
@NAME(projects)
SELECT *
FROM projects
WHERE license = :${body.license} AND id > :${body.minimum}
ORDER BY id