database - 驼色和散装插入物

标签 database apache-camel bulkinsert

我想读取 CSV 文件,处理行并将多行插入数据库,但我不想一次插入一行,而是插入几行。有可能吗?谢谢

最佳答案

开箱即用的数据库组件要么不支持批量插入,要么难以整理。我过去取得成功的一种方法是使用拆分+聚合器模式,然后将其传递给使用 JPA 执行插入的自定义处理器。

伪代码:

from(file://inputfile.csv..)
.splitter(.. by line..)
.aggregate(.. by count ~ 50 or 100)
.to(customJpaProcessor)

然后在自定义处理器中,获取 GroupedExchange 并遍历行,坚持并在一定数量后执行 .commit()

Camel Aggregator EIP

关于database - 驼色和散装插入物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637830/

相关文章:

mysql - WordPress 多数据库

grails - Grails Camel 路由插件无法识别sendMessage

apache-camel - 如何使用 camel-jms 组件将 Artemis 与 Camel Java DSL 一起使用?

c# - 如何改进 Entity Framework 批量插入

redis - 防止 Redis 保存到磁盘

c# - NHibernate 批量插入或更新

database - SAS:合并两个具有相同列的表,同时删除空值

php - PDOException 类是否继承了Exception 类?

javascript - 如何在javascript中获取php echo结果

java - Camel 文件输入连续读取同一文件,即使给定 noop=true