Le second tableau présente les types de renvoi de chaque méthode de l'interface Data que vous souhaitez utiliser pour la requête sur les collections.
Abréviation | Signification |
---|---|
I | Iterator |
L | Liste |
M | Mappe |
O | Objet |
S | Chaîne |
T | Classe générique pouvant être une classe d'encapsuleur pour un type Java primitif ou un bean |
méthodes queryXxx() | L<M<S,O>> | L<T> | M<S,O> | M<S,O>[] | <T> | <T>[] | I<M<S,O>> | I<T> |
---|---|---|---|---|---|---|---|---|
Data.queryArray() | X | |||||||
Data.queryArray() with returnClass | X | |||||||
Data.queryList() | X | |||||||
Data.queryList() with returnClass | X | |||||||
Data.queryIterator() | X | |||||||
Data.queryIterator() with returnClass | X | |||||||
Data.queryFirst() | X | |||||||
Data.queryFirst() with returnClass | X |
Description des types de renvoi
Si plusieurs lignes sont éligibles, la valeur de la première ligne est renvoyée.
L'éventuel objet ResultSet de base de données sous-jacent est fermé.
Indique qu'un scalaire ou un bean est renvoyé. Un scalaire peut être une classe d'encapsulation telle que Double, ou encore String, Date ou Timestamp.
Si plusieurs lignes sont éligibles, la valeur de la première ligne est renvoyée.
L'éventuel objet ResultSet de base de données sous-jacent est fermé.
Spécifie qu'un objet Iterator est renvoyé, chaque élément correspondant à une ligne. La type T paramétré doit être indiqué.
Les objets Iterator dans pureQuery sont de type ResultIterator. Vous devez les fermer à l'aide de la méthode ResultIterator.close() après avoir terminé de les utiliser.
Lorsque vous utilisez une méthode de l'interface Data, ne spécifiez pas de classe générique <T> qui soit l'une des classes <type Java primitif>.class, telles que la classe int.class.
Les informations relatives aux valeurs SQL null sont perdues chaque fois que les informations demandées par SQL sont stockées dans un type Java primitif. De plus, Java nécessite qu'une méthode générique, spécifiant une classe générique <T> de type <type Java primitif>.class, renvoie une instance de la classe d'encapsulation appropriée à ce type Java primitif.
int tCount = data.queryFirst("select ...", int.class, p);car la définition de la méthode queryFirst() est la suivante :
<T> T data.queryFirst(String sql, Class<T> returnType, Object... params);
Integer tCount = data.queryFirst("select ...", Integer.class, p);