Link
Annunci Google
| Query MySQL con Java |
| Programmazione & Co. |
| Martedì 27 Luglio 2010 13:49 |
|
Ebbene si, anche con Java è possibile connettersi ai database. Quello di cui vi parlo oggi è come effettuare una semplice query. per connettersi bisogna prima di tutto caricare il drive giusto. Io uso Netbeans e quindi vi spiego come farlo qua. Cliccate col destro sul progetto, andate su Proprietà->Librerie->Aggiungi libreria e aggiungiamo Driver JDBC per MySQL. JDBC `e un’ API Java per l’esecuzione di comandi SQL indirizzati ad un DBMS, e consiste in una serie di classi ed interfacce scritte in Java e fornisce una modalità standardizzata per l’interazione con il DBMS da parte di applicazioni Java. Questo è il codice che ci serve:
Prima di tutto dobbiamo importare il package per sfruttare sql (prima riga). Nell'esempio ho messo tutto nel metodo main per comodità, ma ovviamente difficilmente sarà così. Il primo passo nella connessione ad una sorgente dati è il “caricamento” del driver JDBC corrispondente al tipo di database. Questo viene fatto utilizzando il metodo Class.forName(Sting s). Questo metodo restituisce una istanza della classe Java specificata nella stringa passata come parametro, che indica il nome completamente qualificato della classe stessa. Poi dobbiamo avviare la connessione con il metodo statico getConnection. Come string gli dobbiamo passare il driver utilizzato (jdbc:mysql), l'indirizzo con la porta (nell'esempio localhost:3306 che è la porta standard di MySQL), il database al quale vogliamo connetterci, e poi utente e password del database. Segue lo Statement che rappresenta l’oggetto che consente di eseguire un’ istruzione SQL, e che viene creato invocando il metodo createStatement() su un’istanza di connessione attiva con il database. La Statment ha due metodi principali:
Qui usiamo il primo in quanto l'operazione che vogliamo effettuare è appunto una query. Al metodo executeQuery dobbiamo passare una stringa con dentro la query da eseguire, come se la facessimo in SQL. Dalla mia tabella voglio prelevare nome, cognome e matricola, e quindi creo tre stringhe vuote. Apro un ciclo while richiamndo il metodo next() su rs (che è il ResultSet); questo mi serve per farli ciclare tutti i record fino a che non finiscono. Assegno un valore alle variabili, che altro non è che il nome dei campi della tabella, prelevati col metodo getString(). Stampo i risultati e chiudo tutto:
Può sembrare complicato ma non lo è. L'importante è che avete in testa come funzionano i database che avete dato una letta alle operazioni su file che sono simili ma più semplici. |
| Ultimo aggiornamento Martedì 27 Luglio 2010 14:18 |
