PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Vertx JDBC client queryWithParams - jak dodać listę?

Krótka odpowiedź brzmi, że nie możesz dodać listy jako parametru zapytania za pomocą ogólnego klienta Vertx JDBC, ale ponieważ używasz Postgresa, możesz użyć biblioteki specyficznej dla Postgresa o nazwie vertx-pg-client. Zaimplementowałem mniej więcej to samo zapytanie, co w tym kodzie:

List<String> currencies = whatever();
String uri = "your-uri";
String query = "select from table where currency = any($1)";
PgConnection.connect(vertx, uri, connectionResult -> {
    if (connectionResult.failed()) {
        // handle
    } else {
        PgConnection connection = connectionResult.result();
        Tuple params = Tuple.of(currencies);

        doQuery(query, connection, params).setHandler(queryResult -> {
            connection.close();
            msg.reply(queryResult.result());
        });
    }
});

    private Future<String> doQuery(String sql, PgConnection connection, Tuple params) {
        Promise<String> promise = Promise.promise();
        connection.preparedQuery(sql, params, res -> {
            if (res.failed()) {
                // log
                promise.fail(res.cause());
            } else {
                RowSet<Row> rowSet = res.result();
                // do something with the rows and construct a return object (here, a string)
                String result = something;
                promise.complete(result);
            }
        });
        return promise.future();
    }

Wszystkie podziękowania należą się @tsegismont, która pomogła mi z tym samym pytaniem tutaj .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy projekt PHP, Python, PostgreSQL nadaje się do aplikacji biznesowej?

  2. Przekaż parametr daty do zapytania natywnego

  3. Prawidłowe wstawienie nazwy tabeli

  4. Wkładka wielorzędowa z obietnicą pg

  5. Jak zaktualizować wiele kolumn w PostgreSQL