2011-08-31 2 views

답변

23

가장 확실합니다. 강하게 호의가 당신을 위해 무대 뒤에서 사용해야합니다 문을 (준비 ,

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

당신이 볼 수 있듯이 :이 예는 (2 *에서 동일하지만입니다) 봄 3.0 문서에서 직선) : 자리 표시 자 (?)로 매개 변수를 지정하고 매개 변수를 채울 객체 배열을 제공합니다. (마지막 매개 변수는 예상 결과의 유형이지만이 질문과 관련이 없습니다.)

NamedParameterJdbcTemplate을 사용하고 Map의 매개 변수를 제공 할 수 있습니다.이 매개 변수는 덜 효율적이지만 분명히 니모닉이 더 큽니다.

+1

차갑다 - 가장 중요한 점은 Spring의 API에서 매개 변수화 된 메소드를 사용하면 보호가 유지되는 방식으로 기본 Java PreparedStatement의 매개 변수화 된 메소드에 확실히 매핑된다는 것이다. – Brabster

+0

그들은해야한다; Spring은 모범 사례를보다 편리하게 구현하는 것에 관한 것이고 PreparedStatement를 사용하는 것이 좋습니다 ... 저는 Java 1.1에서 처음으로 만난 JDBC의 첫 번째 버전에서 충고하는 것을 기억합니다. (모든 JDBC 드라이버가 올바르게 작동하는지 모르겠지만 사용하지 않을 경우 그 이유를 고려하지 않을 것입니다.) –

관련 문제