gpt4 book ai didi

java - 如何在 Quarkus Tuple.of() 方法中允许超过 6 个参数?

转载 作者:行者123 更新时间:2023-12-04 17:21:08 24 4
gpt4 key购买 nike

因为我是 Quarkus 的新手,所以我被困在一个地方,如果有人能帮助我,那就太好了。我正在使用 Quarkus 响应式(Reactive) PgPool(基本上是 vertx)创建一个应用程序,我必须在列数超过 6 的表中插入记录

import io.smallrye.mutiny.Uni;
import io.vertx.mutiny.sqlclient.Tuple;
import io.vertx.mutiny.pgclient.PgPool;

public Uni<Long> addRequest(PgPool client) {
String sql = "Insert into request (column1, column2, column3, column4, column5, column6, column7, column8, column9"
+", column10, column11, column12, column13, column14, column15)"+
" values ($1, $2, $3, $4, $5, $6, $7, $8, $9"
+", $10, $11, $12, $13, $14, $15) RETURNING id";

**//Here I am adding 15 columns to Tuple but it's allowing**

Tuple t = Tuple.of(column1, column2, column3, column4, column5, column6, column7, column8, column9
, column10, column11, column12, column13, column14, column15);

return client.preparedQuery(sql).execute(t).onItem().transform(pgRowSet -> pgRowSet.iterator().next().getLong("id"));
}

请告诉我如何正确地做到这一点,或者是否有更好的方法来做到这一点,比如直接传递 POJO 类实例或使用 NamedJdbcTemplate 因为我的一些表包含超过 50 列并且维护数字不太好?

最佳答案

您可以将所有列存储到一个列表中并将其作为参数传递,使用 Tuple.tuple(List)方法。

List<Column> columns = new ArrayList<>();
columns.add(column1);
//...

Tuple t = Tuple.tuple(columns);

不要和Tuple.of()搞混了,方法是Tuple.tuple()!

enter image description here

关于java - 如何在 Quarkus Tuple.of() 方法中允许超过 6 个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66182749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com