JdbcCursorItemReader - 存储过程调用

时间:2017-08-29 21:14:25

标签: spring spring-batch

目前我在工作步骤中使用JdbcCursorItemReader和FlatFileItemWriter。

由于性能问题,我们必须使用存储过程。

有没有办法在Spring Batch 2.0中调用存储过程..发布?

<bean id="jdbcCursorItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
<property name="dataSource" ref="dataSource"/>
<property name="sql"
value="SELECT X,Y,Z 
FROM V_VIEW "/>
<property name="mapper">
<bean class="com.mapping.SomeMapper"/>
</property>
</bean>

<bean class="org.springframework.batch.item.file.FlatFil eItemWriter" id="flatFileItemWriter">
<property name="resource" ref="resource"/>
<property name="fieldSetCreator">
<bean class="org.springframework.batch.item.file.mapping .PassThroughFieldSetMapper"/>
</property>
</bean>

......其他配置
如何使用可调用语句编写自定义数据库阅读器... 示例代码表示赞赏..谢谢,。

2 个答案:

答案 0 :(得分:0)

只为此用例构建了StoredProceedureItemReader。您可以在此处的文档中了解有关它的更多信息:https://docs.spring.io/spring-batch/apidocs/org/springframework/batch/item/database/StoredProcedureItemReader.html

答案 1 :(得分:0)

我能找到答案:

<bean id="jdbcCursorItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
<property name="dataSource" ref="dataSource"/>
<property name="sql" value="Call schema.StoredProcName"/>
<property name="mapper">
<bean class="com.mapping.SomeMapper"/>
</property>
</bean>