194 votes

Comment faire pour exécuter des requêtes SQL IN() avec ressort ' s JDBCTemplate effectivly ?

Je me demandais si il y a une façon plus élégante à faire IN() requêtes avec JDBCTemplate du printemps. Actuellement je fais quelque chose comme ça :

Ce qui est très douloureuse depuis si j’ai neuf lignes juste pour la construction de la clause de la requête IN(). Je voudrais avoir quelque chose comme la substution paramètre d’instructions préparées. Je ne peux pas imaginer je suis la seule personne qui est agacée par ce fait, et je demande ici obtenir une solution. Merci beaucoup d’avance !

302voto

yawn Points 2823

Vous voulez une source de paramètre :

69voto

janwen Points 583

Je fais la requête « dans l’alinéa » printemps JDBC comme ceci :

20voto

Mahmood Omari Points 11

Si vous obtenez une exception pour : type de colonne non valide

S’il vous plaît utilisez getNamedParameterJdbcTemplate() au lieu de getJdbcTemplate()

3voto

Brian Agnew Points 143181

Je ne pense pas qu’il y a, malheureusement.

Pour concaténer vos champs dans un `` article, vous devriez regarder Apache Commons et StringUtils.join().

Je sais que ce n’est pas tout à fait la réponse que vous cherchez, mais il fait simplement le ce qui précède.

EDIT : bâillement (ci-dessus) a identifié la méthode existante.

1voto

Rasmus Kaj Points 2102

La réponse ci-dessus par le bâillement sons parfait, mais pas cette version de la méthode query(...) ne semble exister au printemps 2.5.6. Si elle a été supprimé ? Ou y a-t-il une autre raison stupide, que je ne le trouve pas ? Quel est la signature exacte de la méthode, que je devrais être à la recherche ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X