2019. 6. 7. 18:37ㆍJAVA Back-End/Spring
기존 포스트에서 JDBC 프로그래밍을 하기 위해서 low-level에서는 Driver를 로딩해 접속하고,
RequestStatement 객체도 얻어내고, 쿼리문을 만들고, select검색처럼 결과가 있으면 결과를 받기위한 Resultset객체를 가져오고...블라블라.....(생략..) 이러한! 반복적인 low-level작업을 스프링 프레임워크가 대신 처리합니다!
Spring JDBC
스프링 JDBC를 사용할 때, 개발자가 스프링에게 해줘야 할 일은?
스프링이 해주는 일 | 개발자가 해야할 일 |
연결 parameter 정의 | |
연결 open | |
SQL문 지정 | |
parameter 선언과 parameter 값 제공 | |
statement준비와 실행 | |
statemenet결과가 존재하면(select같은..) 결과를 반복하는 loop 설정 | |
각 Iteration에 대한 작업을 수행 | |
모든 Exception처리 | |
트랜잭션 제어 | |
connection, statement, Resultset 종료. |
Spring JDBC 패키지
org.springframework.jdbc.core
: JDBCTemplate 및 관련 Helper 객체 제공
JDBC Template
- org.spring.framework.jdbc.core에서 가장 중요한 클래스.
- resoure 생성, 해지를 처리해서 연결을 닫는 것을 잊어 발생하는 문제 등을 피하도록 합니다.
- Statement의 생성과 실행 처리
- sql 조회/업데이트/저장 프로시저 호출 / ResultSet 반복호출 등을 실행
- JDBC 예외가 발생할 경우 org.springframework.dao 패키지에 정의되 있는 일반적인 예외로 변환
org.springframework.jdbc.datasource
: Datasource를 쉽게 접근하기 위한 utility클래스, 트랜잭션매니져 및 다양한 datasource구현을 제공
org.springframework.jdbc.object
: RDBMS조회, 갱신, 저장등을 안전하고 재사용 가능한 객체를 제공
org.springframework.jdbc.support
: jdbc.core 및 jdbc.object를 사용하는 JDBC 프레임워크를 지원
[ edwith - 웹프로그래밍 부스트코스 ] 를 개인적으로 공부하고 정리한 공간입니다. 잘못된 부분은 피드백 주시면 감사하겠습니다
'JAVA Back-End > Spring ' 카테고리의 다른 글
스프링과 객체지향, SOLID (0) | 2023.03.28 |
---|---|
[Spring] Spring MVC (0) | 2019.06.08 |
[Spring] xml파일을 이용한 Spring설정 (0) | 2019.05.18 |
[Spring] IoC / DI 컨테이너 (0) | 2019.05.16 |
[Spring] Spring Framework? (0) | 2019.05.16 |