JDBC e MySQL: un esempio semplice
MySQL è uno dei DBMS open source più popolari sul mercato (pure quello adesso è diventato di Oracle... Speriamo bene). JDBC è un'API che fornise connettività per un gran numero dei DBMS e altre sorgenti dati, compresi fogli di calcolo e file di testo. Il testo e gli esempi che seguono presuppongono che MySQL sia già installato e funzionante sul sistema di sviluppo e che il driver di connessione MySQL-JDBC faccia già parte del progetto o sia nel path delle classi Java.
Per le prove abbiamo usato un database chiamato "test", con una tabella "items" creata con 4 campi: id, name, descr e qty creata come segue:
create table items(
id int not null primary key auto_increment,
name varchar(20),
desc varchar(40),
qty int));
Passiamo ora al codice Java che ci serve per poter utilizzare la nostra connessione:
Prima di tutto per semplificarci un po' la vita inseriamo questi import:
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
La prima basilare istruzione è quella di caricamento del driver, che carica le classi necessarie all'accesso al database MySQL:
Class.forName("com.mysql.jdbc.Driver");
Ora occorre creare un URL per la connessione al server (nel nostro caso il database si trova sulla stessa macchina in cui si sta sviluppando il programma e il database da utilizzare è "test", mentre la porta è la 3306 standard di MySQL):
String mysqlUrl = "jdbc:mysql://localhost:3306/test";
Una volta che abbiamo l'URL possiamo finalmente creare una connessione al server MySQL (in questo caso si usa l'utente root che nel mio caso non ha password essendo una macchina di sviluppo, per la produzione è decisamente sconsigliato usare una configurazione del genere!):
Connection connessione =
(Connection) DriverManager.getConnection(mysqlUrl,"root", "");
Queste istruzioni andrebbero inserite in un blocco try-catch che catturi almeno le eccezioni ClassNotFoundException e SQLException.
Adesso possiamo creare dalla connessione uno statement per eseguire delle operazioni sul database.
Statement stat = (Statement) connessione.createStatement();
Proviamo ad effettuare una insert nella nostra tabella items.
int res = stat.executeUpdate("INSERT INTO items (name, descr, qty) VALUES" +
" ('cioccolatino','cioccolatino al latte', 20);");
L'intero res se tutto va bene dopo la query dovrebbe valere 1 (executeUpdate() ritorna il numero delle righe dell'istruzione, che può essere una INSERT, una DELETE o una UPDATE, oppure 0 nel caso in cui l'istruzione non ritorni nulla).
Ultimo aggiornamento (Domenica 17 Aprile 2011 14:41)


