프로그래밍 패러다임(절차 지향, 객체 지향 등)과 데이터 저장 기술(파일 시스템, RDB, NoSQL DB 등)은 별개, 따라서 두 기술 사이의 인터페이스(데이터 접근 기술)가 필요하다.
자바 어플리케이션과 RDB 사이의 대표적 데이터 접근 기술 : JDBC, SQL Mapper, ORM
DB에 접근하려면?
- DB Connection 얻기 : 커넥션 연결
- SQL 전달 및 실행 : 서버는 DB에게 원하는 동작을 SQL로 표현, 연결된 커넥션을 통해 DB에 전달
- DB Connection 닫기 : DB는 전달된 SQL을 수행하고 그 결과를 응답, 서버는 응답 결과를 활용하고 커넥션 닫음
DB 접근의 어려움
- DB를 다른 DB로 변경하면 서버에 개발된 DB 코드도 함께 변경해야 한다.
- 개발자가 각각의 DB마다 커넥션 연결, SQL 전달, 결과 응답 방법을 새로 작성해야 한다.
JDBC(Java Database Connectivity) : 자바를 이용해 다양한 데이터 저장 기술에 일관적으로 접근할 수 있는 데이터 접근 기술
JDBC의 한계 :
- 반복되는 데이터 접근 관련 코드
- 핵심 관심사 미분리
- 자바 코드 내 SQL 직접 전달 문제
SQLMapper : SQL문과 객체의 필드를 매핑하여 데이터를 객체화한다.
- 자바 코드와 SQL 분리
- 반복적인 데이터 바인딩
ORM : 객체와 RDB 사이의 패러다임 불일치에서 오는 불편함을 해결하기 위해 객체와 RDB를 변환시켜주는 데이터 접근 기술
JPA(Java Persistence API) : 자바 진영 표준 ORM 기술 명세
JDBC, SQL Mapper, ORM은 결국 객체 지향을 위한 기술
'공부 기록 > 영상 후기' 카테고리의 다른 글
[초보를 위한 쿠버네티스 안내서] 왜 쿠버네티스인가? (0) | 2023.05.16 |
---|---|
[초보를 위한 쿠버네티스 안내서] 컨테이너 오케스트레이션이란? (0) | 2023.05.06 |
[10분 테코톡] 클레이의 상속과 조합 (0) | 2023.05.06 |
[10분 테코톡] 그린론의 제네릭 (0) | 2023.05.05 |
[10분 테코톡] 우기의 MySQL 아키텍처 (0) | 2023.05.05 |