0

我有一个要求

  • 从 id=:id 的用户中选择 *

  • 插入表 UserDump(<所有用户表列>,processedDate)值(<所有用户表列>,getDate)

我做了什么 :-

  1. 我有一个 < int-jdbc:inbound-channel-adapter > 用于选择语句。

  2. 我有一个 Transformer 正在获取输出(List< Map > 结果集)并更新我的模型。

  3. 我有一个激活器,它接受我的 Transformer 的输出并插入到我的 UserDump 表中。值来自较早的更新模型。

我的程序运行正常,但

  1. 如何在我的选择语句中更新“id”参数。目前我已经为测试功能进行了硬编码。

  2. 我的程序只是不确定地运行。不停机。即一旦插入完成,它应该自行停止。

  3. 我知道,< poller > 是我的 xml 中必须有的东西,但我想按需运行它。不像在每个固定时间间隔之后。

不是确切的代码,但方向就足够了。

4

1 回答 1

2

如果您的应用程序只是用于将数据从源移动到目标,我建议您看看Spring Batch。它是专门用于此类批处理作业的 Spring 框架的扩展。如果您已经相当熟悉 Spring 框架,那么使用 Spring Batch 定义一个简单的作业应该不会太难。(这可能有助于您在适当的时间结束应用程序,而无需进行任何轮询)。

另外,如果你想定义可以发送参数的 SQL 模板,我建议你看看MyBatis。它消除了编写任何 JDBC 代码的需要,让您可以调用预定义的 SQL 语句,例如带参数的方法调用。这应该让您发送许多选择语句,每个语句都有不同的“id”参数。

于 2013-06-18T13:29:43.997 回答