8
votes

Comment obtenir seulement la première rangée d'un java.sql.Resultset?

J'ai un objet ResultSet contenant toutes les lignes retournées d'une requête SQL.

Je veux être capable de (dans le code Java, ne pas le forcer dans le SQL) de pouvoir prendre des résultatsset et de le transformer afin de ne contenir que 1 (la première) rangée.

Quel serait le moyen de la réaliser? En outre, y a-t-il une autre classe appropriée (quelque part dans Java.SQL ou ailleurs) pour stocker une seule ligne plutôt que de couper mes résultatsset?

Merci!


0 commentaires

4 Réponses :



4
votes

Vous faites référence à la nécessité de Store une seule ligne de données, auquel cas je dirais que l'utilisation d'un ResultSet est probablement une mauvaise idée Comme il sera généralement consommé des ressources de base de données jusqu'à fermé (par exemple, le java.sql.connection ).

à la place, je vous recommanderais de lire la première ligne de votre Resultset dans un pojo, peut-être utiliser les classes utilitaires JDBC de Springs (E.G. Rowmapper ) pour y parvenir concis. Immédiatement après cela, FERMER THE RESUNTSED et associé instruction et Connexion (ou laissez le ressort de le faire pour vous) .


0 commentaires

18
votes

dans le but de simplement limiter le nombre de lignes dans un Ensemble de résultats Vous pouvez effectuer ce qui suit: xxx

comme pour une classe spécifique pouvant contenir une seule ligne, cela dépend vraiment de ce que vous vouloir faire avec les données. Vous pouvez par exemple, vous pouvez simplement extraire le contenu de la Ensemble de résultats et stockez-les dans un tableau, ou si vous avez besoin de noms ainsi que des valeurs, un carte . Vous pouvez également simplement lire les données dans un pojo, si vous préférez travailler avec un objet spécifique plutôt qu'une structure de données générique.


0 commentaires

0
votes

En SQLite, vous pouvez limiter le nombre de lignes faisant:

 "SELECT * FROM YOURTABLE ORDER BY YOURCOLUMN ASC LIMIT 3 OFFSET 3;


0 commentaires