Java 使用在Spring批处理中获取参数的查询

Java 使用在Spring批处理中获取参数的查询,java,spring,spring-batch,Java,Spring,Spring Batch,我有一个功能正常的程序,可以从数据库中读取数据并将其输入到平面文件中。我用的是Spring批处理 我希望能够为我的查询选择参数。我该怎么做呢 我的xml如下所示: <bean id="databaseitemreader" class="JdbcursorItemReader"> <property name = "datasource" <ref = ...> <property name = sql value= "Select fname , lnam

我有一个功能正常的程序,可以从数据库中读取数据并将其输入到平面文件中。我用的是Spring批处理 我希望能够为我的查询选择参数。我该怎么做呢

我的xml如下所示:

<bean id="databaseitemreader" class="JdbcursorItemReader">
<property name = "datasource"  <ref = ...>
<property name = sql value= "Select fname , lname , address from tbl_student"/>
(这个不需要任何更改)

我希望能够将动态参数传递给存储在xml文件中的查询。例子: 其中id=1234,current=Y,无需硬编码


要映射我当前使用的rowMapper接口的值,您可以尝试编写一个由一个XML和一个JDBC读取器组成的自定义读取器。
对于从XML读取的每个节点,准备一个具有正确sql查询的内部JDBC读取器,并将
ItemReader.read()
委托给
JDBCItemReader.read()
,直到耗尽;移动到下一个XML节点并继续,直到XML读取器终止。

请记住注册流(或在自定义读取器中实现
ItemStream
,并根据管理
ItemStream'
方法)。

Spring Batch文档中的这一部分解释了如何将参数传递给Spring Batch作业。

至于如何从XML中提取这些参数,这将是您在工作之外要做的事情,这取决于您是如何启动工作的。

您能在此详细介绍一下业务流程吗?sql文件是否嵌套在xml读取中,即对于xml中的每个元素,是否从db读取,其中id=element.id和element.current=y将结果写入文件
Item file writer stuff .....