2011-08-31 10 views

risposta

23

Lo fa sicuramente. Questo esempio è direttamente dai 3,0 documentazione di primavera (ma è la stessa in 2 *):

String lastName = this.jdbcTemplate.queryForObject( 
     "select last_name from t_actor where id = ?", 
     String.class, 1212L); 

Come si può vedere, è fortemente favori istruzioni preparate (che si deve utilizzare dietro le quinte per voi): si specificano i parametri con i segnaposto (?) e si fornisce una serie di oggetti da inserire nei parametri. (L'ultimo parametro è il tipo del risultato atteso.)

È inoltre possibile utilizzare un NamedParameterJdbcTemplate e fornire i parametri in un Map, che è forse meno efficiente ma sicuramente più mnemonico.

+1

Cool: la cosa principale è che l'uso di metodi parametrizzati nell'API di Spring si basa sicuramente su metodi parametrizzati in Java PreparedStatements in modo tale da preservare la protezione. – Brabster

+0

Dovrebbero fare; La primavera sta implementando Best Practice in un modo più conveniente, e l'utilizzo di un PreparedStatement è stato consigliato per ... beh, ricordo che è stato consigliato nella prima versione di JDBC che ho incontrato in Java 1.1, nonostante fosse piuttosto pignolo. (Non so se tutti i driver JDBC abbiano ragione, ma se non lo faccio, considererei un motivo _excellent_ per non utilizzarlo.) –

Problemi correlati