我有一个Spring Batch应用程序,其中读者从外部db读取数据,然后处理器将其转换为我的目标db的POJO,作家将转换后的POJO写入目标db
我正在使用以下CrudRepository
public interface MyCrudRepository extends CrudRepository<MyDbEntity, String> {
List<MyDbEntity> findByPIdBetween(String from, String to);
List<MyDbEntity> findByPIdGreaterThan(String from);
}
我想知道,上面的ItemReader会是什么样子?
我应该在ItemReader的myCrudRepository.findByPidBetween(String from, String to)
中调用@PostConstruct
吗?
会使ItemReader保持静态吗?由于每个作业运行都会为findByPidBetween
使用不同的方法参数。
如何为以上问题构造ItemReader?
答案 0 :(得分:0)
我想知道,上面的ItemReader会是什么样子?
RepositoryItemReader
是您所需要的。您可以将其与存储库一起使用,并指定用于读取项目的方法。您可以找到一个示例here
每次作业运行都会为findByPidBetetween使用不同的方法参数
您可以将它们作为参数传递给作业,并在阅读器中使用它们。