Spring DB 1편
JDBC 이해
등장 이유
- 데이터 베이스 마다 접속 방법이 다르다
- DB가 변경 되면 DB에 접근하는 모든 코드를 변경 해야 한다
- 이런 상황을 해결하기 위해 JDBC라는 자바 표준이 등장함
- java.sql.Connection → 연결
- java.sql.Statement → SQL을 담은 내용
- java.sql.ResultSet → SQL요청 내용 응답
- 다만 1997년에 출시한 오래된 기술이고 사용법도 복잡해서 최근엔 편리하게 사용하는 다양한 기술이 존재함
최신 접근 기술
- 내부적으론 모두 JDBC를 사용하고 있음 ‼️
- SQL Mapper
- 장점
- JDBC를 편리하게 사용하도록 도와줌
- 응답 결과를 편리하게 객체로 반환
- JDBC의 반복 코드를 제거해줌
- 단점
- Spring JdbcTemplate, MyBatis
- JPA
- 객체를 관계형 데이터 베이스와 매핑 해주는 기술이다
- 장점
- 반복적인 SQL을 직접 작성하지 않고 동적으로 만들어서 쿼리해줌
- JPA, Hibernate, EclipseLink
접근 원리
- 어플리케이션 로직에서 커넥션이 필요한 경우DriverManager.getConnection() 호출
- 드라이버 매니저 에서 라이브러리에 등록된 목록을 자동으로 인식해 정보를 넘겨주며 확인
- URL, NAME, PASSWORD, …
- 찾은 커넥션 구현체를 클라이언트에 반환