J'utilise actuellement ibatis pour retourner des pojos et tout fonctionne très bien.
Ma question est: Je dois retourner 1 ligne d'une table, tout comme 3 champs, et je ne veux pas créer un pojo pour cela. Je veux juste lancer la requête et obtenir les 3 valeurs. Y at-il un moyen facile de le faire sans créer un objet java spécial juste pour cela?ibatis return values
Répondre
Dans IBatis.NET, nous utilisons Hashtable lorsque nous avons besoin de plus d'une valeur dans une requête.
<resultMap id="ResultMap1" class="Hashtable">
<result column="FirstName" property="FirstName" type="string" />
<!-- shows up as "FirstName" in the Hashtable -->
<result column="LastName" property="LastName" type="string" />
<!-- shows up as "LastName" in the Hashtable -->
</resultMap>
C'est un peu ce que je suppose. Est-ce que ceci est juste défini dans resultClass = "HashMap" ou quelque chose comme ça? J'ai utilisé resultset = "int", mais cela ne fonctionne que pour une valeur, et j'ai besoin de trois. – Nick
Première erreur: L'attribut "type" doit être déclaré pour le type d'élément "result". J'ai enlevé le type = "chaîne" de votre élément pour résoudre ce problème. La deuxième erreur était Hashtable n'a pas été reconnu, a changé HashTable en "java.util.HashMap" pour corriger cela ... – Nick
Maintenant, il ne me donne pas d'erreurs jusqu'à ce que j'ajoute un select dans le mélange. Puis-je obtenir "Impossible d'initialiser la classe Cause:. Java.lang.ClassNotFoundException: ResultMap1" [code] [/ code] – Nick
Je ne connais aucune méthode pour faire ce que vous demandez; l'objectif spécifique d'iBATIS est d'automatiser la cartographie des modèles relationnels en classes. Je ne suis pas sûr de ce que vous essayez de faire, mais si vous avez des données significatives, vous devriez être en mesure de mapper à un objet de quelque sorte, même si l'objet sera de courte durée. Je devine que vous avez besoin d'une logique basée sur les valeurs récupérées par votre requête? Si c'est le cas, créez un nouveau POJO, mappez la requête et déplacez la logique dans votre nouveau POJO au lieu de l'endroit où il se trouve actuellement. Cela rendra le code beaucoup plus propre et plus facile à maintenir.
Si vous essayez simplement de récupérer des données brutes sans les associer à une classe, vous devrez probablement revoir votre conception.
(je sais que ce n'est pas la réponse que vous recherchez... Excusez-moi.)
Ce n'était pas la réponse que je voulais, mais merci. Je fais affaire avec une base de données existante afin que le contrôle total de la conception ne soit pas chose à faire. – Nick
Pour la plupart, 99% du projet a ou aura des pojos mappés à partir de la base de données, mais étant donné la base de données, il y a beaucoup de requêtes bs que j'aimerais faire sans créer beaucoup de pojos bs juste pour ça . – Nick
Heureux d'avoir reçu la réponse de Binoj Antony. Je me sentais comme si j'étais ennuyeux prêchant en écrivant ma réponse. . . J'avais commencé à écrire «je ne peux pas imaginer un cas où» et ensuite pensé au code hérité sur lequel je travaille ;-) – Ickster
Vous pouvez affecter les résultats à un java.util.HashMap (LinkedHashMap si vous voulez préserver l'ordre sur le terrain).
- 1. Comma Separated Values - Problème
- 2. Générique Array of Enum Values?
- 3. Rendre une fonction parente return - super return?
- 4. SQL: INSERT INTO ... VALUES..SELECT
- 5. Mapping dictionnaire avec iBATIS
- 6. ibatis in/out problème problème
- 7. SmartGWT Live Grid (avec iBATIS)
- 8. jquery: Variables return NaN
- 9. Chaussures: Element.width return 0
- 10. return 0 implicite
- 11. return value javascript UIWebView
- 12. Générateur d'UUID n-values, ID réutilisables
- 13. C# List <> GroupBy 2 Values
- 14. return Identité dans SQLServer Compact
- 15. ASP.net listbox control return -1
- 16. TSQL rollup -return non null
- 17. Cocoa NSNumberFormatterCurrencyStyle sans "$" return zero
- 18. Question sur Out and Return?
- 19. Intégration de Spring 2.5 avec Ibatis 3
- 20. Le cache iBATIS n'est pas vidé sur les instructions données
- 21. SET NOCOUNT OFF ou RETURN @@ ROWCOUNT?
- 22. Que fait "return function() {...}" en JavaScript?
- 23. Comment effectuer des tests Junit avec Struts - Ibatis
- 24. Java - Ibatis - mySQL avec requête dynamique basée sur le rôle
- 25. Est-il possible d'injecter memcached dans Apache iBatis?
- 26. Quelle bibliothèque JavaScript utiliser avec Java EE + Struts + iBatis?
- 27. Comment mapper des enregistrements multiples en utilisant SqlMap dans Ibatis
- 28. Comment implémenter un intercepteur d'audit en utilisant iBATIS?
- 29. ibatis ibator Problème de génération de code Java
- 30. Comment implémenter des relations un-à-plusieurs dans Ibatis?
Existe-t-il un moyen d'utiliser queryForList() et de retourner un HashMap? Ce serait ma seule rangée sans un pojo? J'ai fait les googlesearhs et essayé des trucs, mais je pense que mon xml n'est pas écrit. – Nick