Je suis en train de configurer une requête paramétrées à l'effet de:requête paramétrée: Vérifiez si le champ est dans le tableau de valeurs dans l'instruction SELECT
SELECT field1 FROM myTable WHERE field2 IN (1,2,3,4)
La base de données J'utilise est Postgres.
Cette requête s'exécute avec succès sans être paramétrée, mais j'aimerais utiliser une requête paramétrée avec un JdbcTemplate pour remplir la liste des valeurs field2 valides (qui sont des entiers).
Essayer différentes valeurs pour var
("1,2,3,4"
, "[1,2,3,4]"
, "{1,2,3,4}"
ou "(1,2,3,4)"
) J'ai essayé des variations sur la requête:
myJdbcTemplate.query("SELECT field1 FROM field2 IN (?)", new Object[]{ var })
et
myJdbcTemplate.query("SELECT field1 FROM field2 IN (?::integer[])", new Object[]{ var })
et aussi
myJdbcTemplate.query("SELECT field1 FROM field2 IN ?::integer[]", new Object[]{ var })
Sur une note de côté, les ressources qui décrivent comment paramétrer les requêtes seraient également très utiles. Toutes ces requêtes lancent des PSQLExceptions qui indiquent que l'opérateur a échoué ou qu'il y a une incompatibilité de type - ce qui semble raisonnable car je n'arrive pas à comprendre comment paramétrer la requête.
Merci - c'est exactement ce que je cherchais. –