I cookie permettono il funzionamento di alcuni servizi di questo blog. Utilizzando questi servizi, accetti l'utilizzo dei cookie da parte nostra. Ok Rifiuta

Attenzione: a breve questo blog verrà dismesso e sarà attivo il nuovo a questo indirizzo.

Query parametriche in JAVA

Le query in linguaggio SQL sono costrutti importantissimi per le nostre applicazioni web: le usiamo spesso per richiamare grandi quantità di dati nei database e quindi vanno gestite bene per non creare confusione nel codice. Inoltre, di solito, molte query vengono ripetute cambiando solo alcuni parametri.

Il linguaggio JAVA offre la possibilità di precompilare le query inviandole una sola volta al JDBC, per poi modificare solo alcuni parametri senza ripetere tutta la compilazione della query. Un esempio di query parametrica può essere:

SELECT * FROM utenti WHERE nome = ?

Il punto interrogativo rappresenta il nostro parametro, che possiamo modificare in seguito. Quindi, per iniziare ad usare una query parametrica dobbiamo innanzitutto compilarla usando il metodo PrepareStatement dell'oggetto Connection che abbiamo istanziato. Questo metodo restituisce un oggetto di tipo PreparedStatement che è la nostra query compilata; vediamo un esempio:

PreparedStatement query = conn.prepareStatement(SELECT * FROM utenti WHERE nome = ?);

Arrivati a questo punto possiamo utilizzare la query precompilata sostituendo un valore al carattere ? tramite la funzione setInt(x,y), dove x è l'indice del parametro (in questo caso 1), e y è il valore che deve avere il carattere ? per effettuare la query. Nel caso preso in esempio usiamo la funzione setString(), ma se dovessimo settare un intero dovremmo usare setInt(). Quindi il tipo di funzione dipende dal tipo di parametro che bisogna settare. Infine, per eseguire la query richiamiamo il metodo executeQuery() o executeUpdate(), già visti in questo articolo:

ResultSet rs = query.executeQuery();

I più letti

Seguici su Facebook

Seguici su Google+

Renzo Cappelli

miafoto

Sono un appassionato di informatica, mi dedico allo sviluppo web e alla gestione dei sistemi web-based: realizzo siti e progetto software gestionale per privati e aziende. Ho tanta passione per tutto quello che riguarda il web e le nuove tecnologie, lavoro bene in team e collaboro con aziende e professionisti di settore.

Commenti

NON CI SONO ANCORA COMMENTI.

Lascia il tuo commento