【问题标题】:How to convert Rowset to Uni<int[]> in quarkus?如何在 quarkus 中将 Rowset 转换为 Uni<int[]>?
【发布时间】:2021-02-16 14:50:50
【问题描述】:

由于我是 quarkus 的新手,我一直卡在原地,在这里我从数据库中获取所有 id,但我无法将其返回为 Uni,请帮帮我。

public Uni<int[]> getRun(String owner, Date dateIN) {
    try{
        sql="select r.id from tabel r where r.userName=$1 AND (r.endDate IS NULL OR r.endDate >=$2)";
    
        return client.preparedQuery(sql).execute(Tuple.of(owner,dateIN)).onItem().transform(pgRowSet -> pgRowSet.iterator())
        .onItem().transform(ro -> ro.hasNext() ? Integer.parseInt(ro.next().toString()) : 0);
    }
    catch(Exception e){
        return null;
    }
}

这里我无法将它作为 Uni 返回,请查询其他是否正常工作。

【问题讨论】:

    标签: java vert.x quarkus


    【解决方案1】:

    试试这个:

    public Uni<int[]> getRun(String owner, Date dateIN) {
        String sql = "select r.id from tabel r where r.userName=$1 AND (r.endDate IS NULL OR r.endDate >=$2)";
        return client.preparedQuery(sql).execute(Tuple.of(owner, dateIN)).onItem().transform(rows -> {
            return StreamSupport.stream(rows.spliterator(), false).mapToInt(row -> row.getInteger(0)).toArray();
        });
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-22
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多