Spring

DB / Spring JdbcTemplate

Dear-J 2025. 4. 27. 22:04

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