Преобразование Java Set в аргумент для метода PreStredStatement setString - PullRequest
1 голос
/ 04 июля 2011

Какой самый простой способ преобразовать Set<String> в аргумент для Oracle in (?)?Для этого я уже использую PreparedStatement.

1 Ответ

2 голосов
/ 04 июля 2011

Вы не можете. Запрос должен иметь один заполнитель (?) для каждого из элементов в наборе. И вы должны связать каждый элемент набора:

Если ваш набор состоит из трех элементов, ваш подготовленный оператор должен выглядеть следующим образом:

String sql = "select foo.* from FOO foo where foo.id in (?, ?, ?)";

и вы должны перебрать множество и привязать каждый элемент индивидуально:

int i = 1;
for (String s : setOfStrings) {
    statement.setString(i, s);
    i++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...