본문 바로가기

Spring/DB

[Spring DB] JDBC

JDBC 등장배경

 > 데이터베이스를 다른 종류의 데이터베이스로 변경하면 기존에 개발하던 데이터베이스 사용 코드도 변경된 데이터베이스 코드로 변경해야한다.

 > 개발자가 각각의 데이터베이스마다 커넥션 연결, SQL 전달, 그리고 그 결과를 응답 받는 방법을 새로 학습해야한다.

 

JDBC란?

Java Database Connectivity

자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API

 

[기능]

1. Connection

2. Statement

3. ResultSet

 

JDBC드라이버

 > 각각의 DB벤더에서 자신의 DB에 맞도록 구현해서 라이브러리를 제공

 ex) MySQL DB에 접근할 수 있는 것은 MySQL JDBC드라이버, Oracle DB에 접근할 수 있는 것은 Oracle JDBC드라이버라 한다.

 ex) 로직 -> JDBC표준 인터페이스 -> MySQL드라이버 -> MySQL DB

 

JDBC 등장으로 개선된 점

1. 데이터베이스 변경 시 사용코드도 함께 변경해야하는 문제

2. 각각의 데이터베이스마다 커넥션 연결, SQL전달, 결과를 응답 받는 방법을 새로 학습해야하는 문제

 

BUT, 각각의 데이터베이스마다 데이터타입, ANSI SQL이라는 표준이 있어 일부분만 공통화했기 때문에 한계가 존재.

 

[최신 접근 기술]

1. SQL Mapper

  > JdbcTemplate / MyBatis가 있다.

  >  로직 -> SQL Mapper -> JDBC

2. ORM

  >  로직 -> JPA -> JPA구현체 (하이버네이트, 이클립스링크) -> JDBC

 

출처: 김영한 선생님의 스프링DB 강의