Java DataBase Connectivity: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Fix link
ValterVBot (discussione | contributi)
m tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (6), </source> → </syntaxhighlight> (6)
Riga 38:
 
Il metodo Class.forName() carica la classe del driver JDBC. La linea seguente carica il driver per ''mioDbms'' nell'applicazione.
<sourcesyntaxhighlight lang=java>
Class.forName( "com.mioDbms.mioDriver" );
</syntaxhighlight>
</source>
Poi, il metodo DriverManager.getConnection() crea una connessione.
<sourcesyntaxhighlight lang=java>
Connection conn = DriverManager.getConnection(
"jdbc:mioDbms:altri dati utili per il driver",
"mioLogin",
"miaPassword" );
</syntaxhighlight>
</source>
La stringa da utilizzare dipende dal driver JDBC che useremo. Inizia sempre con "jdbc:", il resto varia a seconda del prodotto scelto. Una volta stabilita la connessione, occorre passare una istruzione.
<sourcesyntaxhighlight lang=java>
Statement stmt = conn.createStatement();
stmt.executeUpdate( "INSERT INTO miaTabella( nome ) VALUES ( 'andrea' ) " );
</syntaxhighlight>
</source>
I dati vengono prelevati dal database col classico meccanismo delle query. L'esempio sottostante mostra come creare ed eseguire un'interrogazione:
<sourcesyntaxhighlight lang=java>
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM miaTabella" );
Riga 68:
rs.close();
stmt.close();
</syntaxhighlight>
</source>
È raro, però, che un [[programmatore]] Java scriva codice in questo stile. Il modo più diffuso è inserire la logica del database in una classe differente e passare le stringhe SQL già elaborate (magari derivanti anch'esse da un'altra classe) e la connessione ai metodi che ne hanno bisogno.
 
Un esempio di Prepared Statement. Si utilizza la connessione dell'esempio precedente.
<sourcesyntaxhighlight lang=java>
try {
Riga 101:
// gestione delle eccezioni
}
</syntaxhighlight>
</source>
'''Seguono alcuni esempi di conversioni tra il DBMS e Java.'''
{| BORDER CELLSPACING="0" CELLPADDING="3"
Riga 189:
 
Per essere sicuri che una connessione sia chiusa correttamente, anche in caso di eccezione, conviene utilizzare la ''finally''. Inoltre bisogna prestare particolare attenzione a non sollevare ulteriori eccezioni nel blocco finally:
<sourcesyntaxhighlight lang=java>
Connection con=null;
try {
Riga 200:
if (con != null) con.close();
}
</syntaxhighlight>
</source>
 
==Note==