Vert.x.在一次调用中执行多次插入以更新()

时间:2016-06-21 10:07:04

标签: java sql asynchronous vert.x

是否可以使用Vert.x JDBCClient对象执行多个SQL插入/更新?

提前完成。

1 个答案:

答案 0 :(得分:3)

使用Vert.x 3.3,您将获得批处理支持,因此您可以按以下方式进行批量更新:

List<String> batch = new ArrayList<>();
batch.add("INSERT INTO emp (NAME) VALUES ('JOE')");
batch.add("INSERT INTO emp (NAME) VALUES ('JANE')");

connection.batch(batch, res -> {
  if (res.succeeded()) {
    List<Integer> result = res.result();
  } else {
    // Failed!
  }
});

或者如果您想重用预先准备好的声明:

List<JsonArray> batch = new ArrayList<>();
batch.add(new JsonArray().add("joe"));
batch.add(new JsonArray().add("jane"));

connection.batchWithParams("INSERT INTO emp (name) VALUES (?)", batch, res -> {
  if (res.succeeded()) {
    List<Integer> result = res.result();
  } else {
    // Failed!
  }
});