在Spring Batch中编写Tasklet

时间:2015-06-26 07:08:31

标签: java xml spring batch-processing

我正在以特定格式在.txt文件中编写从数据库中检索的数据。我需要在检索特定字段之前输入0。

例如:如果从数据库中检索的列的值是123,我需要将其设为5位数,并且数字前面应加2个零。即" 00123"。

对于像2这样的数字,它应该是" 00002"

但不是0,我需要空间。我无法弄清楚。

我用它的.xml代码是

<bean id="neiertzItemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter">
    <property name="resource" value="${renewalNeiertzData}" />
    <property name="lineAggregator">
        <bean
            class="org.springframework.batch.item.file.transform.FormatterLineAggregator">
            <property name="fieldExtractor">
                <bean
                    class="com.accord.batch.neiertz.tasklet.FormattingBeanWrapperFieldExtractor">
                    <property name="names"
                        value="contractNumber,engagementNumber,creationDate,commercantNumber,productCode,externalReference" />
                    <property name="dateFormatting">
                        <map key-type="java.lang.String" value-type="java.lang.String">
                            <entry key="creationDate" value="yyyyMMdd" />
                        </map>
                    </property>
                    <property name="numberFormatting">
                        <map key-type="java.lang.String" value-type="java.lang.String">
                            <entry key="contractNumber" value="%015d" />
                            <entry key="engagementNumber" value="%011d" />
                            <entry key="commercantNumber" value="%09d" />
                            <entry key="productCode" value="%05d" />
                            <entry key="externalReference" value="%030d" />
                        </map>
                    </property>
                </bean>
            </property>
            <property name="format" value="%-15s%-11s%-8s%-9s%-5s%-30s" />
        </bean>
    </property>
</bean>

如何更改为白色空格而不是零空格。我不太了解java中空间的等价物以及如何将它放在xml中。

0 个答案:

没有答案