我有这种情况。我有一个包含某些信息的csv文件,我必须使用数据库表寄存器来完成此信息,并用这些信息编写一个新文件。
我猜我应该使用MultipleReader实现,一个实现读取我的文件,另一个实现读取数据库(类似于以下示例:https://bigzidane.wordpress.com/2016/09/15/spring-batch-multiple-sources-as-input/),但是我需要通过条件来查询与当前项目相关的内容正在处理。
无论如何,如果可能,我需要在我的reader2中配置一个查询数据,并在我的reader1中获取信息。我该怎么做?
这是我的问题的小履历:
b1 <- list(
"math",
"write",
0.6439442,
c(0.2939780, 0.8416635),
setNames(c(0.5517048, 0.7156524), c("2.5%","97.5%"))
)
b2 <- list(
"math",
"read",
0.663126,
c(0.3242639, 0.8511580),
setNames(c(0.5716105, 0.7384209), c("2.5%","97.5%"))
)
b3 <- list(
"science",
"write",
0.5812035,
c(0.1995946, 0.8097306),
setNames(c(0.4791782, 0.6721795), c("2.5%","97.5%"))
)
对不起,我的英语。任何指向文章或文档的链接都是很好的。
答案 0 :(得分:0)
这是一种常见的模式,称为“驾驶查询模式”,在参考文档的Common patterns部分中进行了描述。
您可以使用FlatFileItemReader
来读取输入文件,并可以使用项目处理器来查询数据库中的当前项目,并使用其他数据对其进行充实。
另一个想法是将平面文件加载到数据库的临时表中,并使用数据库项目读取器来联接数据。
希望这会有所帮助。