Spring批处理示例检查更新是否存在记录,否则插入

时间:2019-05-20 22:34:03

标签: spring-batch spring-batch-tasklet

具有2个表Table1和Table2。 必须从Table1读取并将数据保存到Table2。 保存到表2中之前,必须检查表2中是否存在记录,如果存在,则进行更新,否则插入。

我是Spring Batch的新手,正在尝试使用它。不知道如何做到这一点。我在网上看到的例子都是平面文件到数据库。 找不到与上面类似的功能。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

您要寻找的内容如下

How can you replicate Hibernate's saveOrUpdate in JPA?

它与Spring Batch无关

答案 1 :(得分:0)

编写自定义的ItemWriter(仅是伪代码)

class ItemWriter implement ItemWriter<Table2> {
  public void write(List<Table2> l) {
    for(final Table2 d : l) {
      boolean exists = <Check if item 'd' exists in DB>
      if(exists) then <perform update>
      else <perform insert>
    }
  }
}

如果您有实现了执行更新/插入方法的Table2DAO,则可以使用ItemWriterAdapter(例如Google)