티스토리 뷰

728x90
반응형

목차

     

    JDBC

     

    먼저 JDBC는 영속성을 보장하기 위해 자바에서 자체적으로 제공하는 기능이자, DB 커넥터이며

     

    특징으로는 다양한 DB Driver들의 작성방식을 통일시켜 표준화했다는 점이 있다.

     

    자바의 모든 데이터 액세스는 내부적으로 이 JDBC를 사용하고 있으며, 앞으로 알아볼 기술도 마찬가지다.

     

    Spring JDBC

     

    이 JDBC에는 특유의 단점이 있었는데 바로 DB 연결과 SQL 사용, Data Mapping 등의 모든 과정을

     

    개발자가 직접 입력해주어야 한다는 점이었다. 이는 개발 생산성 저하로 이어지는 치명적인 문제였으며,

     

    Spirng JDBC는 이 반복적인 작업에서 개발자를 해방시켜주었다.

     

    DB 커넥션을 가져오는 DataSource를 빈으로 등록하기만 하면, 실행할 SQL과 파라미터 등을

     

    넘겨주는 것만으로 원하는 결과를 받을 수 있게 되었는데,

     

    이로써 JDBC에서 가장 많은 시간이 걸리는 Connection 부분을 자동으로 처리해 준다.

     

    또한 트랜잭션과 관련된 모든 작업도 알아서 처리해주도록 개선되었다.

     

    JDBC Template

     

    기존 JDBC API의 문제점을 개선한 Spring Class.

     

    Data Source

     

    JDBC API에 포함된 DB 연결 인터페이스.

     

    Spring Data JDBC

     

    Spring Data JDBC는 Spring Data라는 프로젝트의 일원이다.

     

    조금 구체적으로는 Spring JDBC에 대한 추상화와 함께

     

    CrudRepository를 구현한 SimpleJdbcRepository를 제공한다.

     

    또한 DB를 주로 조회하는 것에 초점을 맞춘 라이브러리로서

     

    JDBC Template을 제공하고 트랜잭션 매니저를 지원하지만

     

    Hibernate 기반 영속성이나 ddl auto create 같은 스키마 관리는 지원하지 않는다.

     

    이는 Spring Data JDBC가 Hibernate ORM을 사용하지 않기 때문이며,

     

    여기서 ORM이란 간단하게 말해 객체와 테이블을 매핑해 데이터를 객체화하는 기술을 말한다.

     

    Spring Data JPA

     

    Spring Data JPA 역시 Spring Data 프로젝트의 일원이다.

     

    JPA를 위한 스프링 저장소를 지원하는데(JpaRepository),

     

    여기서 JPA는 Java 진영의 대표적인 ORM 스펙이다.

     

    계속해서 Spring Data JPA는 이 JPA를 추상화한 기술이며,

     

    JPA와 JPA를 구현한 Hibernate의 API를 쉽게 사용할 수 있도록 도와주는 모듈이다.

     

    계속해서 실제 앱이 DB에 접근하는 순서는 위와 같다.

    반응형
    댓글
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    링크
    «   2024/11   »
    1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    글 보관함