【发布时间】:2014-11-18 11:23:33
【问题描述】:
我有一个域类如下
class SubScritpion{
private String subScripId;
private String useId;
private Date subScripDate;
private Date billStartDate;
private Date billEndDate;
private int amount;
//getters and Setters
}
我正在从数据库中读取数据类型为数据库中时间戳的数据并将其转换为 java.util.Date 并使用flatefileItemwriter 写入 csv 文件,我的 ItemWriter 如下。
<bean id="kpCvsFileItemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter"
scope="step">
<!-- write to this csv file -->
<property name="resource" value="file:/#{jobParameters['abs.file.path']}" />
<property name="shouldDeleteIfExists" value="true" />
<property name="lineAggregator">
<bean
class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
<property name="delimiter" value="," />
<property name="fieldExtractor">
<bean
class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
<property name="names"
value="subScripId,useId,subScripDate,billStartDate,billEndDate,amount" />
</bean>
</property>
</bean>
</property>
<property name="headerCallback" ref="kpFileHeader" />
</bean>
现在问题是日期格式我的数据库的日期格式为17-NOV-14 04.25.06.806000000 AM,但 csv 文件包含日期格式Mon Nov 17 04:25:06 UTC 2014。
虽然我找到了一些有关 ItemReader 的参考资料,但我没有找到任何可以插入 ItemWriter 的格式。
一种方法是通过引入 ItemProcesser 并使用 SimpleDateFormatter 将日期格式转换为 String 并写入域 ojbect 中的新字段来解决此问题,然后引用此新字段而不是 itemWriter 中归档的日期。
但我想要一个类似于CustomEditor 的更简洁的解决方案,可以在spring xml 中应用值类型。有人可以指出这方面的一些资源或方向
【问题讨论】:
标签: java spring date spring-batch