Frühlingsstapel: PassThroughFieldExtractor mit BigDecimal-Formatierung

Ich verwende Spring Batch, um eine CSV-Datei aus einer DB-Tabelle zu extrahieren, die eine Mischung aus Spaltentypen enthält. Das SQL-Schema der Beispieltabelle lautet

[product] [varchar](16) NOT NULL,
[version] [varchar](16) NOT NULL,
[life_1_dob] [date] NOT NULL,
[first_itm_ratio] [decimal](9,6) NOT NULL,

Der Beispielwert für die Datenbankspalte für das Feld 'first_itm_ration' lautet

first_itm_ratio
1.050750
0.920000

Ich möchte aber, dass meine CSV die nachgestellten Nullen von den Werten entfernt.

first_itm_ratio
1.05075
0.92

Ich würde es vorziehen, nicht die Formatierung für jedes bestimmte Feld in der Tabelle definieren zu müssen, sondern eine globale objektspezifische Formatierung für alle Spalten dieses Datentyps zu haben.

Meine csvFileWriter-Bean

<bean id="csvFileWriter"      class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step">
    <property name="resource" ref="fileResource"/>
    <property name="lineAggregator">
        <bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
            <property name="delimiter">
                <util:constant static-field="org.springframework.batch.item.file.transform.DelimitedLineTokenizer.DELIMITER_COMMA"/>
            </property>
            <property name="fieldExtractor">
                <bean class="org.springframework.batch.item.file.transform.PassThroughFieldExtractor" />
            </property>
        </bean>
    </property>
</bean>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage