我正在使用mule数据库连接器在数据库中插入更新。现在我在不同的表中有不同的查询,如插入和更新,它们的有效负载也会不同。我怎样才能在此实现批量操作。我可以将查询保存在流变量列表中,并相应地将值保存在另一个列表中并将其传递给数据库流吗?它会起作用吗
所以我想生成原始的sql查询并将其保存到文件中,然后使用批量执行。 mule是否提供任何tostring方法只是将带有占位符的查询转换为实际的原始查询?
就像我有查询
update table mytable set column1 = #[payload.column1], column2 = #[payload.id]
到
update table mytable set column1 = 'stringvalue', column2 = 1234 ;
答案 0 :(得分:0)
Mule的数据库组件确实支持批量操作。您可以在操作中选择批量执行。选择操作时,实现是描述性的。 关于使查询动态化,您可以根据方便传递变量或属性文件中的值。
答案 1 :(得分:0)
您可以使用存储过程来插入和更新接受输入参数作为数组。通过设置批量大小,在for循环内的块中发送记录。这将减少往返次数。
以下是文章链接,包含所有详细信息 https://dzone.com/articles/passing-java-arrays-in-oracle-stored-procedure-fro