Spring Data JDBC란?
Spring Data JDBC는 객체 중심 기술(Object-Relational Mapping / ORM)중 하나로 같은 ORM 기술로는
JPA(Java Persistence API)가 있다.
SQL중심 기술: [mybatis], [Spring JDBC]
ORM중심 기술: [JPA], [Spring Data JPA], [Spring Data JDBC]
ORM은 DB에 접근하기 위해 JDBC API처럼 SQL 쿼리문을 직접 작성하는 방식보다는 DB의 테이블에
데이터를 저장하거나 조회할 때, 자바의 객체(Object)를 이용해 Application 내부에서 이 객체를
SQL 쿼리문으로 자동 변환하고 DB 테이블에 접근한다.
실제로는 Spring Data JDBC는 상대적으로 JPA에 비해 덜 사용되고 있다.
하지만 기본적인 ORM의 개념과 Spring에서 Data에 접근하는 일관적인 접근 방식을 먼저 이해를 조금이라도
하고 JPA와 Spring Data JPA를 배운다면 이해에 조금은 더 도움이 될 것이다.
Spring Data JPA는 JPA의 기술을 더 편리하게 사용하기 위해 사용되는 것이라 JPA의 사전 지식이 필요하다.
따라서 Spring Data JDBC -> JPA -> Spring Data JPA 식으로 개념이 연동되지 않을까 하고 생각한다.
결론: 다 배워야 함
Spring Data JDBD 흐름
1. build.gradle에 사용할 DB를 위한 의존 라이브러리 추가하기
'org.springframework.boot:spring-boot-starter-data-jdbc'
2. application.yml파일에 사용할 DB에 대한 설정
>. yml방식이. properties방식보다 중복되는 프로퍼티의 입력을 줄여줘 더 선호된다.
3. schema.sql파일에 필요한 쿼리 작성
4. application.yml파일에서 schema.sql파일을 읽어와 테이블을 생성하도록 초기화 설정 추가
5. DB의 테이블과 매핑할 Entity 클래스 작성
> Entity클래스의 이름은 DB 테이블의 이름에 매핑
> 클래스 각각의 멤버 변수는 DB 테이블의 Column에 매핑
> 멤버 변수에 @Id를 추가하면 DB 테이블의 PK column과 매핑
6. Entity클래스를 기반으로 DB작업을 처리할 Repository 인터페이스 작성
7. 작성된 Repository인터페이스를 서비스 클래스에서 사용하기 위해 의존성 주입(DI)
8. DI 된 Repository의 메서드를 사용해서 서비스 클래스에서 DB에 CRUD 작업 수행
오늘 공부하면서 흐름을 그려본 것인데 맞는지는 모르겠다.
'programming > SPRING' 카테고리의 다른 글
Spring MVC (0) | 2022.07.13 |
---|---|
[Spring Security] - 필터에 대한 개념 (0) | 2022.07.03 |
JDBC 간단 요약 (0) | 2022.06.30 |
예외 처리 (0) | 2022.06.29 |
Entity개념 복습 (0) | 2022.06.28 |