State scrivendo un'applicazione che usa un driver JDBC? Ecco i passi da seguire:
- Caricare il driver, specifico per il database in uso;
- Creare, mediante url, una connessione al database da usare;
- Scrivere e inviare il comando SQL alla connessione;
- Scorrere il risultato alla ricerca dei valori utili;
- Chiudere la connessione al database;
Per caricare il driver occorre specificare al metodo Class.forName(driver).newInstance()
una stringa che identifica il nome del driver. Ad esempio, la stringa che identifica il driver JDBC per MySQL è com.mysql.jdbc.Driver
. Non dimenticate di invocare newIstance()
, dopo aver cercato il driver, per creare una nuova istanza del driver! Altre stringhe di driver sono: sun.jdbc.odbc.JdbcOdbcDriver
per un bridge (ponte) JDBC-ODBC, oracle.jdbc.driver.OracleDriver
per Oracle e org.postgresql.Driver
per PostgreSQL.
Anche l'url da usare per la connessione va cercato nella dicumentazione. MySQL e altri database sono sviluppati sul modello client/server. Il server che ospita dati, sia locale che remoto, è quindi identificato da un indirizzo di rete. Per MySQL questo url ha la seguente struttura: jdbc:mysql://indirizzo_host:porta/nomeDataBase
. Se il server MySQL è dunque locale occorre indicare come host l'indirizzo localhost
oppure il noto ip di loopback 127.0.0.1
. Il numero di porta usato di default dal server MySQL è 3306
(se tale numero non è stato modificato dopo l'installazione del server). Con DriverManager.getConnection(url,user,password)
viene tentata una connessione al database (specificato nell'url
), se il database richiesto non è pubblico occorre allora indicare il nome utente e la password usate in fase di login (come quando usiamo il client MySQL dal terminale).
Terminata la fase di setup per la connessione si possono iniziare a utilizzare i metodi visti in precedenza per l'invio dei comandi SQL. Terminata l'elaborazione chiudete la connessione con il metodo connessione.close()
.
import java.sql.*;
public class Main {
public static void main(String[] args) {
String driver="com.mysql.jdbc.Driver";
String user="root";
String password="root";
String url="jdbc:mysql://localhost:3306/php_training";
String query="SELECT * FROM contatti WHERE nome='Luca'";
try {
System.out.println("Caricamento del driver ("+driver+")...");
Class.forName(driver).newInstance();
Connection connessione=DriverManager.getConnection(url,user,password);
if(!connessione.isClosed()) System.out.println("Connessione...");
else {
System.out.println("Connessione non riuscita!");
System.exit(1);
}
Statement stmt=connessione.createStatement();
System.out.println("Esecuzione della query: "+query);
System.out.println("Risultato:");
ResultSet srs = stmt.executeQuery(query);
while (srs.next()) {
System.out.println(srs.getString("nome")+" "+srs.getString("cognome"));
}
connessione.close();
}
catch(Exception errore) {
System.err.println("Si è verificata un'eccezione: " + errore.getMessage());
}
}
}
Ecco cosa riporta la finestra di output in NetBeans IDE (ho usato il database php_training):
Nessun commento:
Posta un commento