Я пытаюсь настроить параметризованный запрос на результат:
SELECT field1 FROM myTable WHERE field2 IN (1,2,3,4)
Я использую базу данных Postgres.
Этот запрос успешно выполнен без параметров, но я хотел бы использовать параметризованный запрос с JdbcTemplate, чтобы заполнить список действительными значениями field2 (которые являются целыми числами).
Попытка различных значений для var
("1,2,3,4"
, "[1,2,3,4]"
, "{1,2,3,4}"
или "(1,2,3,4)"
). Я пробовал варианты запроса:
myJdbcTemplate.query("SELECT field1 FROM field2 IN (?)", new Object[]{ var })
и
myJdbcTemplate.query("SELECT field1 FROM field2 IN (?::integer[])", new Object[]{ var })
, а также
myJdbcTemplate.query("SELECT field1 FROM field2 IN ?::integer[]", new Object[]{ var })
В дополнение к этому, ресурсы, которые описывают, как параметризовать запросы, также будут очень полезны.
Все эти запросы генерируют исключения PSQLExx, которые указывают на сбой оператора или на несоответствие типов - что кажется разумным, поскольку я не могу понять, как параметризовать запрос.