Как динамически вызывать функцию схемы с prepareStatement? - PullRequest
0 голосов
/ 17 апреля 2019

Я создал много функций для моей схемы на Postgres. Теперь я хочу, чтобы они вызывались динамически в моем Java-приложении. Мне нужно заменить executeQuery с prepareStatement. Какой правильный путь?

try (Connection con = conn.getConnection()) {
    try (Statement stmt = con.createStatement()) {
        try (ResultSet rs = stmt.executeQuery("select myschema." + myfunction1 + "();")) {
            if (rs.next()) {
                //some code
            }
        }
    }
}

// What I want...
try (Connection con = conn.getConnection()) {
    try (PreparedStatement ps = con.prepareStatement("select myschema.?()")) {
        ps.setString(1, myfunction1);
    }
}

Мне нужно получить «select myschema.myfunction1 ()», но таким образом я, очевидно, получаю «select myschema.'myfunction1 '()», которая выдает мне ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...