BackEnd/Database

JDBC란 무엇인가

연향동큰손 2025. 1. 11. 16:07

 

JDBC란?

 

JDBC등장 전에는 다음과 같은 어려움이 존재했다.

 

1. 데이터베이스를 다른 종류의 데이터베이스로 변경하면 애플리케이션 서버에 개발된 데이터베이스 사용 코드도 함 께 변경해야 한다.

 

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


 

JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. - 위키백과

 

 

개발자는 사용되는 데이터베이스가 변경되어도 JDBC 구현 라이브러리만 변경하면 된다. 따라서 다른 종류의 데이터베이스로 변경해도 애플리케이션 서버의 사용 코드를 그대로 유지할 수 있다

 

즉, JDBC를 사용하면 데이터베이스를 변경하는 경우 데이터베이스마다 커넥션을 연결하는 방법, SQL을 전달하는 방법, 그리고 결과를 응답 받는 방법이 모두 달라 데이터베이스 관련 코드도 함께 변경해야하는 불편함을 해소 시켜준다.

 

 

JDBC와 최신 데이터 접근 기술

 

최근에는 JDBC를 직접 사용하기 보단 JDBC를 편리하게 사용할 수 있도록 해주는 기술들이 존재한다.

  1. SQL Mapper
  2. ORM

 

 

SQL Mapper

장점

1. SQL응답결과를 객체로 편리하게 변환해줌

2. JDBC 반복 코드를 제거해준다.

3. JDBC를 편리하게 사용할 수 있도록 해준다.

 

단점

SQL를 개발자가 직접 작성해야 한다.

 

 

 

ORM

 

ORM은 객체를 관계형 데이터베이스 테이블과 매핑 시켜주는 기술이다.

 

장점

SQL을 직접 작성하지 않아도 되고 ORM기술이 개발자 대신 SQL을 동적으로 만들어서 실행해준다.

 

**JPA (Java Persistence API)**는 자바의 ORM(Object-Relational Mapping) 표준 인터페이스이다.

 

JPA 자체는 인터페이스이기 때문에, 실제로는 이를 구현한 구현체가 필요하다.

 

Hibernate는 JPA의 대표적인 구현체 중 하나이고,  Hibernate는 JPA의 모든 기능을 지원할 뿐만 아니라, JPA에서 제공하지 않는 추가적인 기능도 제공한다.

'BackEnd > Database' 카테고리의 다른 글

스프링 예외 추상화  (0) 2025.02.04
TransactionTemplate  (0) 2025.02.01
DB 락  (0) 2025.01.19
커넥션 풀 / DataSource  (0) 2025.01.13
데이터베이스 연결, JDBC개발 - 등록, 조회, 수정 ,삭제  (0) 2025.01.12