Transform the JSON data into a java.util.List
then split it into several java.util.Map
s and write each of them to the DB.
<jdbc:postgresql-data-source name="PostgreSQL_Data_Source"
user="superuser" password="pwd" url="jdbc:postgresql://localhost:5432/TestDB"
transactionIsolation="UNSPECIFIED" doc:name="PostgreSQL Data Source" />
<jdbc:connector name="Database-Connector" dataSource-ref="PostgreSQL_Data_Source"
validateConnections="true" queryTimeout="-1" pollingFrequency="0"
doc:name="Database">
<jdbc:query key="InsertQuery"
value="INSERT INTO "tblTest"(category,author,title,price)VALUES (#[message.payload.category],#[message.payload.author],#[message.payload.title],#[message.payload.price])" />
</jdbc:connector>
<flow name="testxmlFlow1" doc:name="testxmlFlow1">
<file:inbound-endpoint path="C:\InputFolder"
responseTimeout="10000" doc:name="File" />
<json:json-to-object-transformer
returnClass="java.util.List" doc:name="JSON to List" />
<collection-splitter />
<jdbc:outbound-endpoint exchange-pattern="one-way"
queryKey="InsertQuery" queryTimeout="-1" connector-ref="Database-Connector"
doc:name="Database" />
</flow>