2

JSON データを Mule に渡しています。ペイロードをエコーすると、次のようになります。

{"AddJob":{"JobNumber":12345,"Version":1}}

JDBC クエリを使用して、これらの値をテーブルに挿入したいと考えています。「????」を何に置き換えますか これらの JSON パラメータを参照するには、以下を使用しますか? 最初にオブジェクトに変換する必要がありますか?

<jdbc:query key="insertQuery" value="INSERT INTO [dbo].[Jobs] ([[JOB_NUMBER], [VERSION]) VALUES (???? , ????)"/>
4

2 に答える 2

2

3.3.0 で導入された MEL では、JSON ペイロードを Map に変換することをお勧めします。

<json:json-to-object-transformer returnClass="java.util.HashMap"/>

次に、クエリで MEL 式を使用します。

<jdbc:query key="insertQuery"
            value="INSERT INTO [dbo].[Jobs] ([[JOB_NUMBER], [VERSION]) VALUES (#[message.payload.AddJob.JobNumber], #[message.payload.AddJob.Version])"/>
于 2012-09-21T21:17:53.433 に答える
1

このユース ケースでは、mule が提供するJson 式エバリュエーターの使用を検討する必要があります。

jdbc クエリは次のようになります。

<jdbc:query key="insertQuery" value="INSERT INTO [dbo].[Jobs] ([[JOB_NUMBER], [VERSION]) VALUES (#[json: AddJob/JobNumber] , #[json: AddJob/Version])"/>
于 2012-09-21T20:11:27.520 に答える