Maison  >  Article  >  base de données  >  Quel est le résultat dans JDBC ? Comment récupérer les données de l'objet ResultSet ?

Quel est le résultat dans JDBC ? Comment récupérer les données de l'objet ResultSet ?

PHPz
PHPzavant
2023-08-26 16:17:181448parcourir

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.

JDBC 中的结果是什么?如何从 ResultSet 对象中检索数据?

Déplacez le pointeur dans l'ensemble de résultats

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()){
}

Récupérer les valeurs de colonne de chaque enregistrement :

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.

Exemple

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 |
+--------------+-----------+

Exemple

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("");
      }
   }
}

Output

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer