Maison > Article > base de données > Quel est le résultat dans JDBC ? Comment récupérer les données de l'objet ResultSet ?
L'interface
ResultSet dans JDBC représente les données tabulaires générées par les requêtes SQL. Il a un curseur pointant vers la ligne actuelle. Initialement, ce curseur est situé avant la première ligne.
La méthode next() de l'interface ResultSet déplace le pointeur de l'objet actuel (ResultSet) de la position actuelle vers la ligne suivante. Cette méthode renvoie une valeur booléenne qui renvoie false s'il n'y a pas de ligne à côté de la position actuelle et true sinon. Par conséquent, utilisez cette méthode dans une boucle while pour parcourir le contenu du jeu de résultats.
while(rs.next()){ }
L'interface ResultSet fournit (également) des méthodes getter (getXXX()) pour récupérer les valeurs de chaque colonne de la ligne. Chaque méthode getter a deux variantes :
getXXX(int columnIndex): Elle accepte une valeur entière représentant l'index de la colonne et renvoie sa valeur.
getXXX(String columnLabel ) : Ceci accepte une valeur de chaîne représentant le nom de la colonne et renvoie sa valeur.
Vous devez utiliser la méthode getter correspondante en fonction du type de données de la colonne du tableau.
Supposons que nous ayons une table nommée dataset avec le contenu suivant :
+--------------+-----------+ | mobile_brand | unit_sale | +--------------+-----------+ | Iphone | 3000 | | Samsung | 4000 | | Nokia | 5000 | | Vivo | 1500 | | Oppo | 900 | | MI | 6400 | | MotoG | 4360 | | Lenovo | 4100 | | RedMi | 4000 | | MotoG | 4360 | | OnePlus | 6334 | +--------------+-----------+
L'exemple suivant récupère tous les enregistrements de la Datasettable et imprime les résultats :
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class RetrievingData { public static void main(String args[]) throws Exception { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Getting the connection String mysqlUrl = "jdbc:mysql://localhost/TestDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); //Creating a Statement object Statement stmt = con.createStatement(); //Retrieving the data ResultSet rs = stmt.executeQuery("select * from Dataset"); System.out.println("Contents of the table"); while(rs.next()) { System.out.print("Brand: "+rs.getString("Mobile_Brand")+", "); System.out.print("Sale: "+rs.getString("Unit_Sale")); System.out.println(""); } } }
Connection established...... Contents of the table Brand: Iphone, Sale: 3000 Brand: Samsung, Sale: 4000 Brand: Nokia, Sale: 5000 Brand: Vivo, Sale: 1500 Brand: Oppo, Sale: 900 Brand: MI, Sale: 6400 Brand: MotoG, Sale: 4360 Brand: Lenovo, Sale: 4100 Brand: RedMi, Sale: 4000 Brand: MotoG, Sale: 4360 Brand: OnePlus, Sale: 6334
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!