9
votes

MyBatis - Listes de types primitifs

Cela semble m'avoir éludé. Je sais que je peux utiliser une carte pour renvoyer un ensemble de lignes de vanille d'une requête mybatis, mais comment le faire avec une liste de types primitifs?

E.g. Si j'avais SQL comme: xxx

est-ce que cela nécessite un résultat? J'ai essayé d'utiliser Java.UtilL.ArrayList comme type de résultat, mais obtenez des erreurs de classe non trouvées.

Dans une veine similaire, comment puis-je transmettre une liste d'articles comme une dispute à une requête. < / P>

Toute entrée, pointeurs à documents appréciés.


0 commentaires

4 Réponses :


0
votes

Trey Ceci:

Vous l'obtiendrez comme une liste de carte si vous écrivez comme ceci: xxx

où la clé sera un nom de colonne. Chaque carte contiendra une seule entrée. Si vous voulez une arrayliste, vous pouvez écrire une fonction pour convertir cette carte en une arraylist: xxx

espère que cela aide :)


1 commentaires

Merci. Éteint que si vous définissez simplement le résultatType à la classe def, il donne une liste de ces objets (si vous avez des cours personnalisés). Je me demande pour des types primitifs si je viens de définir des résultats pour Java.lang.Integer Ça va travailler. Je vais devoir l'essayer. Merci pour le code ci-dessus.



1
votes

Essayez d'utiliser des résultats

<resultMap type="java.lang.Long" id="domainsResult"> 
     <result property="" column="product_price"/> 
</resultMap>

<select id="getPrice" resultMap="domainsResult">
   select product_price from products
</select> 


2 commentaires

J'utilise les astuces de propriété vide dans mes éléments de résultat, et cela résout mon problème (différent de la poste). Merci beaucoup!


Veuillez noter toute réponse appropriée comme acceptée et fermer cette question. Cela aidera les autres personnes aussi avec un problème similaire.



15
votes

Déclarez simplement le résultantType code> comme type primitif souhaité, lequel dans votre cas est un long code>. Il sera retourné comme une liste.

List<Long> getPrice();


0 commentaires

1
votes

Essayez d'utiliser ci-dessous Code Snippet à l'intérieur de votre résultatMap pour Product_Price Colonne Mapping - XXX


0 commentaires