Не могли бы вы помочь мне добавить значение TIMESTAMP в JobParameter в Spring Batch.
Мой JDBCPageItemReader приведен ниже:
<bean id="beanSample"
class="org.springframework.batch.item.database.JdbcPagingItemReader"
scope="step">
<property name="dataSource" ref="pgDataSource" />
<property name="queryProvider">
<bean class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
<property name="dataSource" ref="pgDataSource" />
<property name="selectClause" value="SELECT *" />
<property name="fromClause" value="FROM sh.trains" />
<property name="whereClause" value="WHERE train_type = :train_type_inp and destination = :dest_code
and train_time between = :time_a and = :time_b" />
<property name="sortKey" value="train_time" />
</bean>
</property>
<property name="parameterValues">
<map>
<entry key="pymt_type_code" value="#{jobParameters['train_type']}" />
<entry key="mrkt_code" value="#{jobParameters['dest_code']}" />
<entry key="start_time" value="#{jobParameters['time_a']}" />
<entry key="end_time" value="#{jobParameters['time_b']}" />
</map>
</property>
<property name="pageSize" value="5" />
<property name="rowMapper">
<bean class="com.train.timetable.Mapper.SampleMapper" />
</property>
</bean>
В приведенной выше базе данных PostgreS train_time добавлен как тип TIMESTAMP. Следовательно, мне нужно добавить параметр time_a и time_b в качестве параметра задания при запуске задания. Но я не понимаю, как добавить TIMESTAMP в JobParameter. Я попытался передать время как строку (как указано ниже). Но это не работает.
JobParameters jobParameters = new JobParametersBuilder()
.addString("train_type", "LOCAL")
.addString("dest_code", "CAN")
.addString("time_a", "2018-02-05 18:21:46.24812")
.addString("time_b", "2018-02-05 18:22:07.085596").toJobParameters();
JobExecution result = jobLauncher.run(jobLocator.getJob(jobName), jobParameters);
Может ли кто-нибудь помочь мне с этим. Заранее спасибо. Я искал эту проблему и узнал о классе DefaultJobParametersConverter весной. Но я не уверен, как его использовать. Пожалуйста, помогите мне. Я застрял здесь. Я не могу изменить тип столбца из TIMESTAMP.