当前位置: 首页 > 知识库问答 >
问题:

Crudepository返回的记录的ItemReader

公孙新觉
2023-03-14

我有一个spring批处理应用程序,其中读卡器从外部数据库读取数据,处理器将其转换为目标数据库的POJO,写卡器将转换后的POJO写入目标数据库

我正在使用以下CrudRepository

public interface MyCrudRepository extends CrudRepository<MyDbEntity, String> {

    List<MyDbEntity> findByPIdBetween(String from, String to);

    List<MyDbEntity> findByPIdGreaterThan(String from);  
}

我想知道,上面的ItemReader会是什么样子?

我应该打电话给MyCrudepository吗。在my ItemReader的@PostConstruct中查找(String from,String to)?

这不会使ItemReader保持静态吗?因为每个作业运行都会有不同的方法参数用于findByPidBetween

针对上述问题,ItemReader应该如何构建?

共有1个答案

戚锦
2023-03-14

我想知道,上面的ItemReader会是什么样子?

RepositoryItemReader是您所需要的。您可以将其与存储库一起使用,并指定用于读取项目的方法。你可以在这里找到一个例子

对于findByPidBetween,每个作业运行都有不同的方法参数

你可以把这些作为参数传递给你的工作,并在你的阅读器中使用它们。

 类似资料:
  • 我的Spring WebSocket返回了一个403,虽然我不确定为什么Spring Security当前不在类路径上。 注意:我开始写这个问题,然后打开full Spring Boot debug,下面是它发出的最后3行日志。

  • 在MariaDB数据库中,使用语句和子句从表中检索一个或多个记录。 语法: 示例1: 以降序检索记录: 使用语句并带有子句查询表中的数据。结果列的值按降序显示,为。参考如下语句 - 执行上面查询语句,得到以下结果 - 示例2: 按列的值升序检索记录: 执行上面查询语句,得到以下结果 - 示例3:分页 在应用程序中,由于数据记录太多,不能全在一个页面中全部显示,我们经常要使用分页来显示。假设每页显示

  • 问题内容: 我想从ElasticSearch索引返回最近的记录(前1个),类似于下面的sql查询; 能做到吗? 问题答案: 你有_timestamp在您的文档映射启用? 您可以在此处检查映射: 如果是这样,我认为这可能会获得最新的信息:

  • 问题内容: 我有一个元组,有100个姓氏。我如何在sqlite3中执行以下操作: 这样我就可以返回中包含的姓氏的所有记录。 问题答案: 问题 :返回所有记录中包含的姓氏 核心是创建一个查询,该查询具有与序列中一样多的绑定。 在需要排除最后一个逗号。 SQLite理解的SQL-子句 bindings = ‘?,’*len(surnames) QUERY = “select firstname, su

  • 问题内容: 我正在尝试使查询工作从表单控件获取值(有时只是字符串的第一部分)。我的问题是,仅在键入完整字符串时它才返回记录。 即在姓氏框中,我应该能够键入gr,它会弹出 绿灰色格雷厄姆 但是目前,除非使用完整的搜索字符串,否则它不会显示任何内容。 所涉及的表单上有4个搜索控件,并且仅当填写该框时才在查询中使用它们。 查询是: 问题答案: 有一种访问方法! 如果您在表单上具有“过滤器”控件,那么为什

  • 问题内容: 我负责处理的应用程序之一是每隔x秒检查一次Oracle DB表,以查看是否有新数据要处理(其他实时应用程序正在填充该数据)。 我们新的客户业务流程迫使我们的实时性在同一时间(比如说10000)同时每天填充几次记录来填充该表。下次我的应用程序检查是否有任何要处理的内容时,遇到10 000条记录并尝试对其进行处理。 它的设计不是很好,而且扩展性还不够好。快速解决方案是限制该应用程序从Ora