1. build.gradle 파일에 JPA, h2 데이터베이스 과련 라이브러리 추가

2. JPA관련 application.properties 설정 추가

3. Member 클래스에 Entity매핑 추가
- 테이블과 매핑되는 도메인 Member클래스에 @Entiry 어노케이션을 추가한다.
- 변수와 컬럼명이 같으면 그대로 사용하고 다른 경우 @Column 어노테이션을 사용한다.
- Primary키의 경우 @Id를 추가한다. sequence의 경우 @GenerateValue 어노테이션을 사용한다.

4.JPAMemberRepository를 추가
- MemoryMemberRepository대신 JPAMemberRepository를 추가한다.
- JpaMemberRepository 클래스는 EntityManager 객체를 DI받아야 한다. EntityManager 객체는 수동으로 Bean등록하는것이 아니라 스피링에서 자동 생성한다.
- 등록하는 문장은 connection, insert등이 모두 필요 없고, persist(객체) 한문장으로 끝낼 수 있다.


5. 서비스 계층에 @Transactional 추가
- 서비스 계층에 @Transactional을 추가하면 서비스를 수행하다 runtime error가 발생하면 Rollback하게 된다.
- 테스트 환경에서의 @Transactional은 무조건 롤백 시킨다.

6. SpringConfig 변경
- DataSource와 EntityManager 객체를 생성 후 SpringConfig생성자를 통해 DI 받는다.
- MemberRepository생성자에서 MemoryRepository를 return하던 것을 JpaRepository로 변경한다. 다시 MemoryRepository로 변경하게되면 DB를 안쓰고 메모리를 그대로 쓰게 된다.

'Lecture > 스프링 입문 수업' 카테고리의 다른 글
스프링부트입문_17스프링DB_H2데이터베이스설치 (0) | 2022.12.27 |
---|---|
스프링부트입문_16회원웹기능_조회 (0) | 2022.12.27 |
스프링부트입문_15회원웹기능_등록 (0) | 2022.12.27 |
스프링부트입문_14회원웹기능_홈화면추가 (0) | 2022.12.26 |
스프링부트입문_13스프링빈_컴포넌트스캔과자동의존관계설정 (0) | 2022.12.26 |