首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从多个RepositoryItemReaders读取并写入一个RepositoryItemWriter

如何从多个RepositoryItemReaders读取并写入一个RepositoryItemWriter
EN

Stack Overflow用户
提问于 2020-03-07 04:28:48
回答 1查看 379关注 0票数 0

我正在尝试从大约7-8个不同的数据库表中读取,在上面将所有这些数据组合成一个数据,然后写入到一个JSON文件中。由于读取器和写入器似乎是紧密耦合的,并且服务于一次读取和一次写入,我想知道是否有一种方法可以读取多个数据源,并使用RepositoryItemReader和RepositoryItemWriter将处理器中的这些数据源组合成一个输出。

EN

回答 1

Stack Overflow用户

发布于 2020-03-07 05:03:46

你可以通过实现一个内部包含7-8个RepositoryItemReaders的自定义ItemReader来使用组合模式。在自定义ItemReader中,使用这些RepositoryItemReaders将所有数据收集到某种容器或元组对象中,并将其传递给ItemProcessor进行处理。

代码方面,它看起来像这样:

代码语言:javascript
运行
复制
public class MyItemReader implements ItemReader<Tuple> {

    private RepositoryItemReader r1;
    private RepositoryItemReader r2;
    private RepositoryItemReader r3;
    ......
    private RepositoryItemReader r6;
    private RepositoryItemReader r7;

    public Tuple read(){
        return new Tuple(r1.read(),r2.read() ....., r6.read() , r7.read());
    }

}

public class Tuple {
    private Table1 t1;
    private Table2 t2;
    private Table3 t3;
    .....
    private Table6 t6;
    private Table7 t7;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60571171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档