数据库读取来自弹簧项目处理器

时间:2014-12-11 16:43:14

标签: spring batch-processing

我是Spring Batch的新手。

我只想知道是否可以从Itemprocessor进行数据库调用(jdbccursoritemreader)?

我要求读取db(ItemReader),发送处理记录(ItemProcessor),在处理时我需要调用其他数据库(就像参考数据一样)来更新我从ItemReader获取的记录最后把最后的那些发给作家。

任何解决方法和建议都表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

是的,你可以这样做。

您需要在处理器中注入一个类来为您执行数据库读取。为简单起见,我可能会使用JdbcTemplate。

这样的事情:

public class MyProcessor implements ItemProcessor<Foo, Bar> {

  private JdbcTemplate jdbcTemplate;

  @Override
  public Foo process(Bar bar) throws Exception {
    //use JdbcTemplate here
  }

  public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
    this.jdbcTemplate = jdbcTemplate;
  }

}

配置处理器时,请注入JdbcTemplate:

<bean class="com.example.MyProcessor" id="myProcessor">
  <property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>