我是Quarkus的新手,我正在从表中获取记录,但查询是由第三方用户编写的,所以可能会发生我们不完全了解数据库的情况,因为我们如何才能将行集转换为"List of Map“或任何"Pojo class”或"JsonArray "?
import io.smallrye.mutiny.Uni;
import io.vertx.mutiny.pgclient.PgPool;
import io.vertx.mutiny.sqlclient.RowSet;
import io.vertx.mutiny.sqlclient.Tuple;
import io.vertx.sqlclient.Row;
public Uni<TableRQ> getTableRQ(int ids) {
try {
sql = "select * from "+vdnm+"ai_request_parameter where id in ($1)";
return client.preparedQuery(sql).execute(Tuple.of(ids))
.onItem().transform(pgRowSet -> {
JsonArray jsonArray = new JsonArray();
for (Row row : pgRowSet) {
// Here if I know columns than I know how to do it, but I don't know so How can we achieve it?
}
return jsonArray;
});
} catch (Exception e) {
return null;
}
}发布于 2021-04-05 16:53:47
下面是一些映射到类的示例
// #1
return client.preparedQuery(sql)
.mapping(row -> {
User user = new User();
user.setId(row.getString("id"));
user.setName(row.getString("name"));
user.setCreatedAt(row.getLocalDateTime("created_at"));
return user;
})
.execute(Tuple.of(ids))
.onItem().transformToMulti(users -> Multi.createFrom().iterable(users));
// #2
return client.preparedQuery(sql)
.execute(Tuple.of(ids))
.onItem().transformToMulti(rows -> Multi.createFrom().iterable(rows))
.onItem().transform(this::rowToUser);有关Quarkus Reactive SQL Clients的更多信息
https://stackoverflow.com/questions/66183974
复制相似问题