Использование PreparedStatement для создания запроса, который выглядит следующим образом ...JDBC с MySQL - SELECT ... IN
SELECT * FROM table1 WHERE column1 IN ('foo', 'bar')
... не зная количество строк в операторе IN
Построив строка как ...
"'foo', 'bar'"
... и попутно, что с ps.setString() приводит к:
"\'foo\', \'bar\'"
Это, вероятно, хорошо, но делает этот подход к моей проблеме бесполезным.
Любые идеи о том, как пройти в неизвестном числе значений в JDBC PreparedStatement без динамического создания строки запроса тоже (этот запрос находится в файл для легкого повторного использования, и я хотел бы сохранить его таким образом) ?
Вы можете использовать объект 'Array'. 'SELECT * FROM table1 WHERE column1 IN?' С 'PreparedStatement # setArray (1, anArrayObject);' –
@SotiriosDelimanolis зависит от того, поддерживает ли JDBC-драйвер 'setArray'. –
См. [Альтернативы предложения PreparedStatement IN] (http://stackoverflow.com/q/178479/2390083) – Beryllium