2011-08-31 10 views

cevap

23

Kesinlikle öyle. o kuvvetle iyilik sizin için sahne arkasında kullanıyor olması gerekir ifadeleri (hazırlanan ,

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

Gördüğünüz gibi: Bu örnek (2. * aynı ama) Bahar 3,0 dokümanlardan düzdür): parametreleri yer tutucularla (?) belirtin ve parametreleri doldurmak için bir dizi nesne sağlayın. (Son parametre beklenen sonucun türüdür, ancak bu soru için çok uygun değildir.)

Ayrıca NamedParameterJdbcTemplate ve parametreleri Map da sağlayabilirsiniz, bu da belki daha az verimli ancak kesinlikle daha az anımsatıcıdır.

+1

Cool - ana şey, Spring'in API'sinde parametrelenmiş yöntemlerin kullanılması, korumanın korunacağı şekilde, Java PreparedStatements'da parametrelenmiş yöntemlerle kesinlikle eşleşmesidir. – Brabster

+0

Yapmalılar; Spring, En İyi Uygulamaları daha uygun bir şekilde uygulamakla ve bir PreparedStatement kullanmakla ilgili olarak tavsiye edildi… iyi, JDBC ile karşılaştığım ilk sürümünde tavsiye edilmediğini hatırlıyorum. (Tüm JDBC sürücülerinin doğru olup olmadığını bilmiyorum, ama eğer bunu kullanmıyorsa, bunun için bir _excellent_ nedeni olduğunu düşünmüyordum.) –

İlgili konular