JdbcTemplate
장점
설정의 편리함
>> spring-jdbc 라이브러리에 포함(스프링 기본 라이브러리)
>> 별도 설정 없이 바로 사용 가능
반복 문제 해결
>> 템플릿 콜백 패턴을 사용 대부분의 반복 작업 대신 처리
>> 개발자는 SQL 작성, 전달할 파라미터 정의, 응답 값 매핑만
단점
동적 SQL 해결 어려움
이름 지정 파라미터
NamedParameterJdbcTemplate이라는 이름을 지정해서 파라미터를 바인딩 하는 기능 제공
파라미터를 전달하려면 Map처럼 key, value 데이터 구조를 만들어 전달해야 함
여기서 key는 :파라미터이름 으로 지정한 파라미터의 이름이고 value는 해당 파라미터의 값
Map
단순히 Map 사용
MapSqlParameterSource
Map과 유사하지만 SQL 타입을 지정할 수 있는 등 SQL에 특화된 기능 제공
BeanPropertySqlParameterSource
자바빈 프로퍼티 규약을 통해 자동으로 파라미터 객체 생성
>> getItemName() => key=itemName, value=상품명 값
BeanPropertySqlParameterSource가 많은 것을 자동화해주기 때문에 좋아 보이지만 조건에 맞게 사용해야 함
>> update()에서는 SQL에 :id를 바인딩 해야하는데 update()에서 사용하는 ItemUpdateDo에는 itemId가 없어서 사용 불가
SimpleJdbcInsert
INSERT SQL을 직접 작성하지 않아도 되는 기능 제공
jdbcInsert.executeAndReturnKey(param)을 사용해 INSERT SQL을 실행하고 생성된 키 값도 편리하게 조회 가능
출처 : 김영한, 스프링 DB 2편 - 데이터 접근 활용 기술
'Spring' 카테고리의 다른 글
DB / MyBatis (0) | 2025.04.29 |
---|---|
DB / Test (0) | 2025.04.28 |
DB / 데이터 접근 기술 (0) | 2025.04.26 |
DB / 스프링과 문제 해결 - 예외 처리, 반복 (0) | 2025.04.24 |
DB / 자바 예외 (0) | 2025.04.23 |