본문 바로가기

공부 기록/영상 후기

[10분 테코톡] 범고래, 소주캉의 JDBC, SQL Mapper, ORM

https://youtu.be/NFK9qLWpujY

프로그래밍 패러다임(절차 지향, 객체 지향 등)과 데이터 저장 기술(파일 시스템, 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은 결국 객체 지향을 위한 기술