Ecco un piccolo script che ci permette di connettere i nostri programmi in Java ad un database mySQL utilizzando appositi driver(JDBC) messi a disposizione dai produttori stessi dei database per poter sfruttarne al meglio tutte le caratteristiche. Un'altra alternativa potrebbe essere l'uso dei bridge JDBC-ODBC, che trascurerò in questa guida e che offrono, per ovvie ragioni, prestazioni minori.
Il primo passo è dunque quello di scaricare il driver e, successivamente, di aggiungere la libreria(solitamente è un file .jar) all'interno del progetto.
Tutto quello che resta da fare è scrivere l'applicazione:
import java.io.IOException;
import java.sql.*;
public class MySQL{
Connection db;
String user;
String password;
String TABLE;
String componentsTable;
public MySQL(String user, String password) throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException, IOException{
this.user = user;this.password = password;// carico il driver JDBC
Class.forName("com.mysql.jdbc.Driver").newInstance();// mi connetto al database con i dati inseriti nel main
// la password può non essere necessaria
db = DriverManager.getConnection("jdbc:mysql://localhost/" + "clients"+"?user="+user+"&password="+password);// connesso.. se niente è andato storto!
// creo lo Statement per l'invio della query
Statement stmt = (Statement) db.createStatement();// eseguo una query
stmt.executeQuery("SELECT * FROM utenti");// ottengo i risultati
ResultSet rs = stmt.getResultSet ();int count = 0;// ciclo tutti i risultati
while (rs.next ()){// stampo i campi della tabella
System.out.println(rs.getString("nome"));System.out.println(rs.getString("cognome"));System.out.println(rs.getString("id"));System.out.println(rs.getString("email"));System.out.println(rs.getString("num_connessioni"));}
}
public static void main (String Args[]) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException, IOException{
new MySQL("mionome", miapassword");}
}
Il codice è abbastanza semplice e ho commentato le espressioni più importanti che vi permetteranno di effettuare la connessione al database ed effettuare le operazioni principali. Nonostante la sua semplicità è importante dire che per un uso migliore del codice sono necessari maggiori controlli che ho tralasciato per non dilungarmi troppo sul codice. Tra i controlli possibili mi vengono in mente quelli sulle variabili passate al programma oppure sulla necessità o meno della password.