반응형
이번에 소개할 JdbcTemplate이란,
이전 버전에서는 우리가 데이터를 넣을 부분에 ?를 이용하여 처리를 했다.
이러한 방식은 인자 위치에 대한 순서가 강제되는데 이러한 방식은 개발자의 불편함과 가독성을 떨어뜨릴수가 있다.
| 예제 문법 String sql = "update member set name=?, price=?, age=? where id=?"; template.update(sql, name, price, age, itemId); |
변수가 많아졌다면 하나하나 순서까지 비교해야하는 불편함이 있다.
그래서 나온것이 NamedParameterJdbcTemplate이다.
NamedParameterJdbcTemplate는 ?대신 :변수명 을 이용하여 처리함으로써 순서에 강제를 받지 않는다.
| public int countOfActorsByFirstName(String firstName) { String sql = "select count(*) from T_ACTOR where first_name = :first_name"; SqlParameterSource namedParameters = new MapSqlParameterSource("first_name", firstName); return this.namedParameterJdbcTemplate.queryForObject(sql, namedParameters, Integer.class); } |
값은 ParameterSource를 이용하여 입력을 해준다.
그리고 또 직접 데이터를 전달할때는 하나하나 값을 지정하지 않아도 객체를 통으로 전달해도 인식이 가능하다.
namedParameters 이라는 변수에 SqlParameterSource 로 담아서 sql 쿼리를 날리게 된다.
반응형
'IT > Java' 카테고리의 다른 글
| groovy란? (21) | 2023.03.01 |
|---|---|
| @Qualifier 어노테이션 사용법 (10) | 2023.02.27 |
| 익명 클래스(anonymous class)란? (12) | 2023.02.25 |
| Thread란? (process비교) (12) | 2023.02.21 |
| @Transactional 사용시 주의 사항1 (checked Exception) (8) | 2023.02.20 |
댓글