English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questo capitolo fornisce esempi su come utilizzare applicazioni JDBC per selezionare record da una tabella. Quando si selezionano record da una tabella, si aggiungono ulteriori condizioni utilizzando la clausola LIKE. Assicurati di avere le seguenti condizioni prima di eseguire l'esempio seguente:
Per eseguire l'esempio seguente, è possibile copiare e incollareNome utenteePasswordSostituire con il nome utente e la password effettivi.
Il suo MySQL o qualsiasi altro database che sta utilizzando è già avviato e in esecuzione.
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 la programmazione del database. Di solito, si utilizza import java.sql.* Basta con questo.
Registrare il driver JDBC: Viene richiesto di inizializzare il driver per aprire il canale di comunicazione con il database.
Creare la connessione:Occorre utilizzare DriverManager.getConnection() Il metodo per creare un oggetto Connection che rappresenta la connessione fisica con il server del database.
Eseguire la query:Occorre utilizzare un oggetto di tipo Statement per costruire e inviare le istruzioni SQL per ottenere i record da una tabella che soddisfa determinate condizioni. La query utilizzaLIKELa clausola WHERE seleziona i record per selezionare tutti gli studenti i cui nomi iniziano con "za".
Pulizia dell'ambiente: Occorre chiudere esplicitamente tutte le risorse del database, invece di affidarsi alla raccolta dei rifiuti del JVM.
Copia e incolla il seguente esempio in JDBCExample.java, compila e esegui come segue-
// Passo 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{ // Passo 2: Registrare il driver JDBC Class.forName("com.mysql.jdbc.Driver"); // Passo 3: Creare la connessione System.out.println("Connettendo a un database selezionato..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Database collegato con successo..."); //Passo 4: Esegui la query System.out.println("Creazione dello statement..."); stmt = conn.createStatement(); //Estrazione record senza condizione. System.out.println("Raccolta 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"); //Mostra i 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("Raccolta record con condizione..."); sql = "SELECT id, first, last, age FROM Registration"+ "WHERE first LIKE '%za%'"; 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"); //Mostra i 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){ //Gestisce l'errore JDBC se.printStackTrace(); }catch(Exception e){ //Gestisce l'errore di Class.forName e.printStackTrace(); }finally{ //Utilizzato 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("Ciao!"); //Fine main //Fine JDBCExample
Ora, compiliamo l'esempio sopra riportato, come segue:
C:\>javac JDBCExample.java C:\>
EsecuzioneJDBCExample,che produrrà i seguenti risultati-
C:\>java JDBCExample Connettendo a un database selezionato... Database connesso con successo... Creazione dello statement... Raccolta 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 record con condizione... ID: 100, Età: 30, Primo: Zara, Cognome: Ali ID: 102, Età: 30, Primo: Zaid, Cognome: Khan Ciao! C:\>