Spring Batch: PassThroughFieldExtractor с форматированием BigDecimal
Я использую Spring Batch для извлечения файла CSV из таблицы БД, которая имеет сочетание типов столбцов. Пример схемы SQL таблицы
[product] [varchar](16) NOT NULL,
[version] [varchar](16) NOT NULL,
[life_1_dob] [date] NOT NULL,
[first_itm_ratio] [decimal](9,6) NOT NULL,
Пример значения столбца базы данных для поля first_itm_ration:
first_itm_ratio
1.050750
0.920000
но я бы хотел, чтобы мой CSV сбрасывал конечные нули со значений.
first_itm_ratio
1.05075
0.92
Я бы предпочел не определять форматирование для каждого конкретного поля в таблице, а использовать глобальное объектное форматирование для всех столбцов этого типа данных.
Мой бин csvFileWriter
<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>