gpt4 book ai didi

java - Spring Batch Reader参数问题

转载 作者:行者123 更新时间:2023-12-01 23:23:51 27 4
gpt4 key购买 nike

目前我需要使用 Spring Batch 实现以下步骤:

  1. 从数据源A读取表数据;
  2. 根据我在步骤 1 中从数据源 A 获取的列值作为搜索条件,从数据源 B 读取表数据;
  3. 将第 2 步中得到的内容写到其他地方

从技术上讲,我处理第 1 步和第 3 步没有问题,但有人可以建议如何处理第 2 步吗?我明白,在步骤 1 之后,我可以获得一个 rowMapper 类,它将每行数据映射到我的域对象,在这种情况下,如何将列值(域对象属性)作为参数传递给步骤 2?

最佳答案

Spring Batch Chunk Processing

正如我试图在评论中(以及 documentation 的链接)中解释的那样。使用面向 block 的步骤。您的序列对应于以下内容

  1. 项目阅读器
  2. 项目处理器
  3. 项目编写器

对于读者来说,您可以使用 JdbcCursorItemReaderRowMapper 将结果转换为对象。在 ItemProcessor 中,您将 JdbcTemplate 与查询一起使用,并使用传入对象将参数添加到查询中,与另一个 RowMapper 一起,这将将结果转换为对象。该对象被传递到 ItemWriter,它存储您可以使用 JdbcBatchItemWriter 的对象。

根据您对步骤 2/3 的需求,您可以尝试创建一个自定义编写器,它在单个查询中执行处理(读取/更新)(这可能比读取、构造对象和再次写入更快)。

关于java - Spring Batch Reader参数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308237/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com