1

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

我是春季批次的新手并尝试使用它。不确定如何做到这一点。我在网上看到的例子都是数据库的平面文件。没有发现类似上面的东西。任何帮助表示赞赏。

4

2 回答 2

1

编写一个自定义的 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(例如谷歌)

于 2019-05-22T05:07:34.177 回答
1

您正在寻找的内容如下

如何在 JPA 中复制 Hibernate 的 saveOrUpdate?

它与 Spring Batch 无关

于 2019-05-21T15:06:47.193 回答