我正在尝试将参数化查询配置为:
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}"
, or )的各种值"(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 })
附带说明一下,描述如何参数化查询的资源也将非常有用。
所有这些查询都会抛出 PSQLExceptions,表明运算符失败或存在类型不匹配——这似乎是合理的,因为我不知道如何参数化查询。