我将如何创建事务、插入行、提交事务并获取最后插入的 id。所以该方法应该返回一个Uni<Integer>
. 我是 mutiny api 的新手,我之前使用过vertx.io
链接未来处理程序机制,因此重新调整自己以使用 mutiny api 有点困难。我检查了文档并认为类似于以下代码段的内容应该可以工作,但我很难理解如何使它工作并Uni<Integer>
从最后一个查询而不是Uni<Void>
从tx.commit()
return this.client.begin()
.flatMap(tx -> tx
.preparedQuery("INSERT INTO person (firstname,lastname) VALUES ($1,$2)")
.execute(Tuple.of(person.getFirstName(),person.getLastName()))
.onItem().produceUni(id-> tx.query("SELECT LAST_INSERT_ID()"))
.onItem().produceUni(res -> tx.commit())
.onFailure().recoverWithUni(ex-> tx.rollback())
);