English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Frase WHERE JDBC

Questo capitolo fornisce esempi su come utilizzare applicazioni JDBC per selezionare record da una tabella. Quando si selezionano record da una tabella, verranno aggiunte altre condizioni utilizzando la clausola WHERE. Assicurati di avere le seguenti condizioni prima di eseguire l'esempio seguente:

  • Per eseguire l'esempio seguente, puoi copiare e incollareNome utenteePasswordSostituisci con i nomi utente e le password effettivi.

  • Il tuo MySQL o qualsiasi altro database che stai utilizzando è già avviato e in esecuzione.

Passaggi necessari

Per creare un nuovo database utilizzando un'applicazione JDBC, è necessario eseguire i seguenti passaggi-

  • Importare il pacchetto:Viene richiesto di includere il pacchetto che contiene le classi JDBC necessarie per il programming del database. Di solito, si utilizza import java.sql.* Sufficiente.

  • Registrare il driver JDBC: Viene richiesto di inizializzare il driver per aprire il canale di comunicazione con il database.

  • Stabilire la connessione:Occorre utilizzare DriverManager.getConnection() Il metodo per creare un oggetto Connection che rappresenta la connessione fisica al server del database.

  • Esegui la query:Occorre utilizzare un oggetto di tipo Statement per costruire e inviare una query SQL per ottenere i record che soddisfano i criteri specificati. La query utilizzaWHERESintassi della clausola WHERE per selezionare i record.

  • Pulizia dell'ambiente: Occorre chiudere esplicitamente tutte le risorse del database, non affidandosi alla raccolta dei rifiuti del JVM.

Codice di esempio

Copia e incolla il seguente esempio in JDBCExample.java, compila e esegui come segue-

// Passaggio 1: importare i pacchetti necessari
import java.sql.*;
public class JDBCExample {
   // Nome del driver JDBC e URL del database
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";
   // Dettagli delle credenziali del database
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      // Passaggio 2: registrare il driver JDBC
      Class.forName("com.mysql.jdbc.Driver");
      // Passaggio 3: stabilire la connessione
      System.out.println("Connettendosi a un database selezionato...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Database connesso con successo...");
      
      //Passo 4: Eseguire la query
      System.out.println("Creazione dello statement...");
      stmt = conn.createStatement();
      //Estrazione record senza condizione.
      System.out.println("Recupero record senza condizione...");
      String sql = "SELECT id, first, last, age FROM Registration";
      ResultSet rs = stmt.executeQuery(sql);
      while(rs.next()){
         //Ricerca per nome di colonna
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //Visualizzazione dei valori
         System.out.print("ID: " + id);
         System.out.print(", Età: " + age);
         System.out.print(", Primo: " + first);
         System.out.println(", Ultimo: " + last);
      }
      //Seleziona tutti i record con ID uguale o maggiore di 101
      System.out.println("Recupero record con condizione...");
      sql = "SELECT id, first, last, age FROM Registration" +
                   " WHERE id >= 101 ";
      rs = stmt.executeQuery(sql);
      while(rs.next()){
         //Ricerca per nome di colonna
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //Visualizzazione dei valori
         System.out.print("ID: " + id);
         System.out.print(", Età: " + age);
         System.out.print(", Primo: " + first);
         System.out.println(", Ultimo: " + last);
      }
      rs.close();
   catch(SQLException se){
      //Gestione dell'errore JDBC
      se.printStackTrace();
   catch(Exception e){
      //Gestione dell'errore di Class.forName
      e.printStackTrace();
   }finally{
      //Usato per chiudere le risorse
      try{
         if(stmt!=null)
            conn.close();
      catch(SQLException se){
      //Non ha fatto nulla
      try{
         if(conn!=null)
            conn.close();
      catch(SQLException se){
         se.printStackTrace();
      }
   }
   System.out.println("Arrivederci!");
}
//Fine di JDBCExample

Ora, compiliamo l'esempio sopra riportato come segue:

C:\>javac JDBCExample.java
C:\>

EsecuzioneJDBCExampleProducirà i seguenti risultati:

C:\>java JDBCExample
Connessione a un database selezionato...
Database connesso con successo...
Creazione dello statement...
Raccolta di record senza condizione...
ID: 100, Età: 30, Primo: Zara, Cognome: Ali
ID: 102, Età: 30, Primo: Zaid, Cognome: Khan
ID: 103, Età: 28, Primo: Sumit, Cognome: Mittal
Raccolta di record con condizione...
ID: 102, Età: 30, Primo: Zaid, Cognome: Khan
ID: 103, Età: 28, Primo: Sumit, Cognome: Mittal
Arrivederci!
C:\>