1. 데이터 접근 기술의 종류

2025. 5. 19. 16:36Spring Framework/스프링 DB접근

[목차]

1. JDBC

2. SQL Mapper: JdbcTemplate, MyBatis

3. ORM 기술: JPA(Hibernate), Spring Data JPA, Querydsl 

4. SQL Mapper vs ORM 기술


1. JDBC 

  • 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
    JDBC는 애플리케이션이 DB와 연결해서 SQL을 전달하고 결과를 받는 흐름을 담당한다.
  • JDBC는 1997년에 출시될 정도로 오래된 기술이고, 사용하는 방법도 복잡하다.
  • 그래서 최근에는 JDBC를 직접 사용하기 보다는 JDBC를 편리하게 사용하는 다양한 기술을 사용한다. 
    대표적으로 SQL Mapper ORM 기술로 나눌 수 있다. 
 

2. SQL Mapper

  • SQL Mapper는 SQL 응답 결과를 객체로 변환해주는 편리한 기술이다.
  • JDBC의 반복적인 코드(커넥션 열기/닫기, 예외 처리 등)를 제거해준다.
  • 단, 개발자가 SQL을 직접 작성해야 한다는 점은 그대로다.
  • 대표 기술
    • JdbcTemplate: 스프링에서 제공하는 기술로, JDBC API의 반복적이고 번거로운 코드를 추상화하여 SQL을 더 간편하게 사용할 수 있도록 도와준다.
    • MyBatis: XML이나 어노테이션으로 SQL을 관리하고, 결과 매핑을 자동으로 처리해주는 프레임워크다.

 

3. ORM 기술 

  • ORM은 객체를 관계형 데이터베이스 테이블과 매핑해주는 기술이다.
  • 이 기술 덕분에 개발자는 반복적인 SQL을 직접 작성하지 않고, ORM 기술이 개발자 대신에 SQL을 동적으로 만들어 실행해준다.
  • 자동화된 쿼리 생성, 지연 로딩, 캐싱, 트랜잭션 관리 등 다양한 기능 제공.
  • 추가로 각각의 데이터베이스마다 다른 SQL을 사용하는 문제도 중간에서 해결해준다.
  • 대표 기술
    • JPA: 자바 진영의 ORM 표준 인터페이스 → JPA 구현체: Hibernate, EclipseLink
    • Spring Data JPA: JPA를 스프링스럽게, 간편하게 사용할 수 있도록 해주는 모듈
    • Querydsl: JPA에서 복잡한 동적 쿼리를 자바 코드로 안전하게 작성할 수 있게 해주는 DSL (도메인 특화 언어)

 

4. SQL Mapper vs ORM 기술

  • SQL Mapper는 SQL만 작성할 줄 알면 금방 배워서 사용할 수 있다.
    하지만 ORM기술은 쉬운 기술이 아니어서 실무에서 사용하려면 깊이있게 학습해야 한다.
  • ORM기술은 SQL 자체를 작성하지 않아도 되어서 개발 생산성이 매우 높아진다. 
    하지만 SQL Mapper는 개발자가 직접 SQL문을 작성해야한다.
  • 이런 기술들도 내부에서는 모두 JDBC를 사용한다.
    따라서 JDBC를 직접 사용하지는 않더라도, JDBC가 어떻게 동작하는지 기본 원리를 알아두어야 한다.