•
RDB와 SQL은 데이터 영속성의 최우선 선택으로 자리를 지켜왔다. 최근에는 대체 가능한 다양한 데이터베이스 종류가 늘었지만 RDB는 여전히 범용 데이터 저장소를 선택하는 최선이다.
•
일반적으로 RDB를 사용하는 경우, 자바 개발자들이 선택할 수 있는 몇 방법이 있는데, 그중 가장 많이 사용하는 방법이 JPA와 JDBC다.
1. JDBC를 사용해서 데이터를 읽고 쓰기
•
Spring의 JDBC는 JdbcTemplate 클래스에 기반을 둔다. 이는 JDBC를 사용할 때 요구되는 모든 형식적이고 상투적인 코드없이 개발자가 관계형 데이터베이스에 대한 SQL 연산을 수행할 수 있도록 해준다.
1. 퍼시스턴스를 고려한 도메인 객체 수정하기
•
객체를 데이터베이스에 저장하고자 할 때는 해당 객체를 고유하게 식별해 주는 필드를 하나 추가하는 것이 좋다.
•
즉, 도메인 클래스들이 데이터베이스에 고유한 인스턴스로 저장되려면 이를 식별하기 위해 식별자를 추가해줘야 한다.
2. JdbcTemplate 사용하기
•
JdbcTemplate을 사용하려면 데이터베이스에 연결을 위한 의존성을 추가해두어야 한다.
2. 스프링 데이터 JPA를 사용해서 데이터 저장하고 사용하기
•
스프링 데이터 프로젝트는 여러 개의 하위 프로젝트로 구성되는 다소 규모가 큰 프로젝트다.
◦
스프링 데이터 JPA: 관계형 데이터베이스의 JPA 퍼시스턴스
◦
스프링 데이터 MongoDB: 몽고 도큐먼트 데이터베이스의 퍼시스턴스
1. 스프링 데이터 JPA를 프로젝트에 추가하기
•
스프링 데이터 JPA는 JPA 스타터를 통해서 스프링 부트 어플리케이션에서 사용할 수 있다.
2. 도메인 객체에 어노테이션 추가하기
•
JPA 매핑 어노테이션을 도메인 객체에 추가해야 JPA의 기능을 정상적으로 사용할 수 있다.
요약
•
스프링의 JdbcTemplate은 JDBC 작업을 굉장히 쉽게 해준다.
•
데이터베이스가 생성해 주는 ID의 값을 알아야 할때는 PreparedStatementCreator와 KeyHolder를 함께 사용할 수 있다.
•
데이터 추가를 쉽게 실행할 때는 SimpleJdbcInsert를 사용하자.
•
스프링 데이터 JPA는 레포지터리 인터페이스를 작하든 JPA 영속성을 쉽게 해준다.