Ce n'JdbcTemplate faire quand RowMapper retourne null?
Je suis en utilisant le JdbcTemplate.query(sql, args, rowMapper)
appel de méthode pour retourner une liste d'objets. Il y a certains cas où je veux sauter une ligne et de ne pas l'ajouter à la liste que j'ai un retour. Dans ces cas, j'ai pensé à deux solutions:
- Ont RowMapper retourner la valeur null.
- Ont RowMapper lever une Exception (je sais SQLExceptions sont traitées donc, c'est une possibilité).
Ma question est: Quand RowMapper.mapRow
renvoie la valeur null, ne JdbcTemplate l'ajouter à la liste? Si non, dois-je lancer une SQLException à la place?
Avez-vous l'essayer?
Ne pas sauter une ligne(s) de la responsabilité de la clause where en sql ?
Ne pas sauter une ligne(s) de la responsabilité de la clause where en sql ?
OriginalL'auteur ktm5124 | 2013-07-02
Vous devez vous connecter pour publier un commentaire.
C'est le morceau de code qui ajoute des lignes à la liste des résultats de
comme nous pouvons le voir, il va vraiment ajouter de la valeur null. Cependant, il n'ya aucune raison pourquoi RowMapper devrait jamais retourner la valeur null à moins qu'il y est un bug.
ArrayList
permisnull
éléments, cela renvoie une liste avec les valeurs null.OriginalL'auteur Evgeniy Dorofeev
Lorsque vous retourner la valeur null alors en effet, il en ajoute cette valeur null à la liste, aussi, si vous jetez une SQLException il est "enveloppé" dans une Exception qui s'étend RuntimeException, pour vous de ne pas avoir à inclure explicitement une instruction try-catch si vous ne voulez pas.
Ce que je voulais dire, c'est que tout SQLException jeté est enveloppé dans une exception dont exactement le nom je ne me souviens pas maintenant, mais elle s'étend RuntimeException (non vérifié exception) de sorte que vous n'avez pas à taper supplémentaire try - catch
Le nom de l'exception que vous êtes à la recherche pour est DataAccessException.
OriginalL'auteur morgano
Vous pouvez simplement supprimer la valeur null à partir de la liste après le remplissage avec le RowMapper.
OriginalL'auteur mathd