如何在Spring Batch JdbcBatchItemWriter中包含一个计数器

时间:2018-05-15 23:52:57

标签: spring-batch

我的项目中定义了以下批处理项编写器,我想添加计数器和日期。你是怎么做到的?

@Bean
public JdbcBatchItemWriter<Employee> writer(DataSource dataSource) {
    return new JdbcBatchItemWriterBuilder<Employee>()
        .itemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<>())
        .sql("INSERT INTO t(counter, firstname, lastname, loaddate) VALUES (<HOW TO ADD COUNTER HERE>, :firstName, :lastName, <HOW TO ADD A DATE>)")
        .dataSource(dataSource)
        .build();
}

1 个答案:

答案 0 :(得分:0)

在bean中包含计数器和日期字段,并在ItemProcessor中设置计数器和日期的值。一旦你这样做,下面就可以了。

@Bean
public JdbcBatchItemWriter<Employee> writer(DataSource dataSource) {
    return new JdbcBatchItemWriterBuilder<Employee>()
        .itemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<>())
        .sql("INSERT INTO t(counter, firstname, lastname, loaddate) VALUES (**:counter**, :firstName, :lastName, **:loadDate**)")
        .dataSource(dataSource)
        .build();
}