1. JDBC와 Spring Data JDBC의 차이점
1-1 JDBC (Java Database Connectivity)
- java에서 데이터베이스에 접근할 수 있게 해주는 API로, SQL 쿼리 진행, 데이터베이스 연결 관리 등의 기능 제공
- JDBC는 데이터베이스와의 직접적인 상호작용을 처리하지만, 이를 사용하기 위위해서는 많은 보일러 플레이트 코드가 필요
- 보일러 플레이트 코드 : 컴퓨터 프로그래밍에서 반복적으로 사용되는 코드
1-2 Spring Data JDBC
- Spring 프레임워크의 일부로, JDBC의 복잡성을 추상화하고, 간소화 한다.
- Spring JDBC는 템플릿 디자인 패턴을 사용하여 코드 중복을 줄이고, 개발자가 SQL 쿼리에 집중할 수 있도록 돕는다.
2. Spring Data JDBC의 장점
2-1 간소화된 에러 처리
- JDBC의 복잡하고 다양한 예외처리를 스프링의 DataAcceessException으로 일관되게 처리할 수 있다.
2-2 리소스 관리
- 데이터베이스 연결과 같은 리소스를 자동으로 관리하며, 사용 후에는 적절하게 클로즈하여 리소스 누수를 방지한다.
2-3 간결한 코드
- Jdbc Template과 같은 템플릿 클래스를 사용하여 반복적인 코드 작성을 줄일 수 있다.
2-4 풍부한 기능 제공
- 데이터 액세스를 위한 다양한 편의 기능을 제공하며, SQL 쿼리 실행, 업데이트, 스토어드 프로시저 호출, 트랜잭션 관리 등을 수행할 수 있다.
3. Spring Data JDBC 구조 이해
3-1 DataSource
- 모든 Spring JDBC 작업의 기반으로, 데이터베이스 연결을 관리한다.
- SpringBooy에서는 application.properties, application.yml 파일을 통해 DataSource를 쉽게 설정할 수 있다.
3-2 JdbcTemplate
- SQL 쿼리 실행을 단순화 하는 주요 클래스이다.
- 예를들어 데이터베이스 연결을 열고, PreparedStatement를 생성하고, 실행하며, 결과를 매핑하고, 모든 리소스를 자동으로 정리한다.
3-3 NamedParameterJdbcTemplate
- JdbcTemplate의 확장으로, 쿼리에서 이름 기반의 파라미터를 사용하여 쿼리 가독성과 유지보수성을 높일 수 있다.
3-4 SimpleJdbcInsert와 SimpleJdbcCall
- 데이터 삽입과 스토어드 프로시저 호출을 위한 편리한 방법을 제공
'스프링 | 스프링 부트' 카테고리의 다른 글
[ Spring ] : 스프링이란 ? (1) | 2025.06.13 |
---|---|
[ Spring ] @Transactional 이란? (0) | 2025.04.02 |
[ Spring ] Filter / FilterChain 개념, 사용법 (0) | 2025.02.26 |
[ Spring ] @RequiredArgsConstructor란 ? (0) | 2025.02.07 |
[ Spring ] @Transactional과 예시 (0) | 2025.02.07 |