2010-04-28 7 views
2

Je souhaite passer un ensemble de chaînes dans une requête iBatis pour la mappe de paramètres et retourner une collection de chaînes pour l'ensemble de résultats.iBatis utilisant un ensemble pour un resultMap ainsi qu'un paramètreMap

Est-ce possible?

Exemple requêtes ...

SELECT * FROM some_table t WHERE t.some_column IN (values); 

UPDATE some_table t SET t.some_column = 'some_value' WHERE t.other_column IN (values); 

Walter

+0

Pouvez-vous clarifier, peut-être un exemple? Que représenteraient «l'ensemble des chaînes», à quoi seraient-elles assignées? – leonbloy

Répondre

1

Si vous voulez passer une liste de chaînes comme un paramètre, par exemple pour la construction d'une requête IN(val1,val2...), vous devriez lire sur dynamiques requêtes, en particulier l'élément Iterate. Voir also.

0

Pour le retour, dans SqlMapClientTemplate il y a la méthode queryForList.

En ce qui concerne le Set de String en tant que paramètre, je ne sais pas si iBatis gère cela; nous avons construit un objet pour cela, et quand j'ai fait face à ce problème c'était dans une clause sql in, donc j'ai fait une boucle avec des valeurs séparées par des virgules.
Ou vous pouvez convertir le Set en un HashMap et le transmettre.