【发布时间】:2014-03-31 17:51:06
【问题描述】:
我正在使用 BeanWrapperFieldSetMapper 将 CSV 文件的内容映射到自定义 bean。是否有一个弹簧批处理实用程序类可以将此 bean 转换为实现 SQLParameterSource 接口的对象。我正在寻找一个使用反射来填充 MapSqlParameterSource 类的类,它使用自定义 bean 字段名称和关联值以及键/值对。
这是我目前的工作配置
<bean id="abcFileReaderDBLoaderJob" parent="simpleJob">
<property name="steps">
<list>
<bean parent="simpleStep">
<property name="itemReader">
<bean class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="lineMapper">
<bean class = "org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer">
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="strict" value="false"/>
<property name="names" value="a,b,c" />
</bean>
</property>
<property name="fieldSetMapper">
<bean class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="abcBean"/>
</bean>
</property>
</bean>
</property>
<property name="resource">
<bean class="org.springframework.core.io.FileSystemResource">
<constructor-arg value="${abc.file}" />
</bean>
</property>
</bean>
</property>
<property name="itemWriter" ref="abcTableWriter"/>
</bean>
</list>
</property>
</bean>
我的通用表编写器有这个接口
/**
* Takes a list of SqlParameterSource and writes to the DB.
*/
public class TableWriter implements ItemWriter<SqlParameterSource> {
....
}
【问题讨论】:
标签: spring-batch