如何从Spring Batch中的多个相关数据库表中读取复杂数据

时间:2018-08-09 00:52:03

标签: spring-batch reader

我打算实现该批处理,以从各种数据库表中读取数据以填充下面的复杂域,然后在处理器中执行计算,然后通过写入器将数据加载到数据库中。

public class A{

  private String id;
  private String name;
  private ArrayList list1;
  private ArrayList list2;

  ......
}

现在,我被读者的设计所困扰。想法是查询数据库表以获取ID列表,然后根据每个ID查询其他字段,包括list1和list 2。似乎现有的阅读器无法满足此要求,我是否需要创建自定义阅读器才能实现此目标?我想我会采用块方法,但是不知道如何实现它。

代码示例倍受赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用驾驶查询模式。读取器仅读取ID,然后处理器可以根据ID查询每个对象的详细信息。

这是一种常见的模式,您可以在文档的common batch patterns部分中找到有关此模式的更多详细信息:https://docs.spring.io/spring-batch/4.0.x/reference/html/common-patterns.html#drivingQueryBasedItemReaders