我打算实现批处理以从各种数据库表中读取数据以填充下面的复杂域,然后在处理器中执行计算并通过写入器将数据加载到数据库中。
public class A{
private String id;
private String name;
private ArrayList list1;
private ArrayList list2;
......
}
现在,我被困在阅读器的设计上。这个想法是查询数据库表以获取 id 列表,然后根据每个 id 查询其他字段,包括 list1 和列表 2。似乎现有的阅读器无法满足此要求,我是否需要创建自定义阅读器才能实现目标?我想我会采用块方法,但不知道如何实现它。
非常感谢代码示例。
可以使用驱动查询模式。读取器仅读取 ID,然后处理器可以根据 ID 查询每个对象的详细信息。
这是一种常见的模式,您可以在文档的common batch patterns
部分找到有关它的更多详细信息:https://docs.spring.io/spring-batch/4.0.x/reference/html/common-patterns.html#drivingQueryBasedItemReaders