我有一个spring批处理应用程序,其中读取器从外部数据库读取数据,处理器将其转换为目标数据库的POJO,写入器将转换后的POJO写入目标数据库
我正在使用以下CrudRepository
public interface MyCrudRepository extends CrudRepository<MyDbEntity, String> {
List<MyDbEntity> findByPIdBetween(String from, String to);
List<MyDbEntity> findByPIdGreaterThan(String from);
}
我想知道,上面的ItemReader是什么样子的?
我应该在ItemReader的@PostConstruct
中调用myCrudRepository.findByPidBetween(String from, String to)
吗?
这不会使ItemReader成为静态的吗?因为每个作业运行都会有不同的findByPidBetween
方法参数。
针对上述问题,ItemReader应该如何构建?
1条答案
按热度按时间3okqufwl1#
我想知道,上面的ItemReader是什么样子的?
RepositoryItemReader
是您所需要的。您可以将其用于您的存储库,并指定读取项目的方法。您可以找到here示例每个作业运行将具有不同的findByPidBetween方法参数
您可以将它们作为参数传递给作业,并在阅读器中使用它们。