관심쟁이 영호
[#4.1] Spring Boot ㅣ 스프링 부트 ㅣ JPA, DB설정 및 동작확인 본문
오늘은 JPA, DB설정을 할 예정이다.
1. JPA란?
쉽게 말하자면, 자바의 객체와 DB를 연결해주는데 도움을 주는 ORM(대충 도우미?)이라고 한다.
2. application.yml을 생성한다.
- resources > application.yml을 생성한다.
- 기존에 있던 application.properties는 삭제해준다.
- 김영한 개발자님이 yml vs properties 구도에서는 본인이 생각하시기에 yml이 관리해야하는 파일이 많아질 수록 편하다고 하신다!
3. yml에 코드를 입력해준다.
# application.yml code
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop;MVCC=TRUE
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create # 애플리케이션 실행시점에 테이블 생성
properties:
hibernate:
show_sql: true # 시스템 out으로 찍어보는 것
format_sql: true
logging:
level:
org.hibernate.SQL: debug
위의 구문은 jpa를 설정해주는 것인데, 각각 주석처럼 의미가 있는 것이다.
4. 그리고 시험할 예제를 생성해본다.
- Member Class를 생성한다.
- Member 클래스를 생성하고 Annotation으로 Entity, Id, GeneratedValue를 지칭해준다.
- 각각의 어노테이션의 뜻은 이론편을 뛰어넘어서 잘을 모르겠지만, Member가 하나의 집합체(Entity)이고 안쪽에 식별자인 Id를 지칭해주는 듯한 느낌이다.
5. 그럼 여기서 만든 멤버를 관리해주는 친구를 만들어야한다.
- MemberRepository를 만들어주었다.
- EntityManager 객체의 em을 만들어 주었다.
여기서 EntityManager가 뭐지? 할텐데, 이것은 처음에 defendencies를 받아올 때, 이것에 대한 정보도 가지고 왔다. 한마디로, SpringBoot가 우리가 편하게 다 가지고 있고 우리는 가져다 쓰기만 하면되는것이다.
- 그리고 두가지의 메서드를 만들었는데 메서드 네임과 같이 save(저장), find(찾기)가 있다.
6. 잘 돌아가는지 테스트 코드를 생성하여 만들어보자.
해당 부분 부터는 다음 게시글 부터 시작한다.
해당 강의는 인프런의 "김영한" 개발자님의 강의 정리했습니다.
'Bank-End > 인프런- Spring 공부' 카테고리의 다른 글
[#6] Spring Boot ㅣ 스프링 부트 ㅣ 도메인 모델과 테이블 설계 (0) | 2021.04.05 |
---|---|
[#5] Spring Boot ㅣ 스프링 부트 ㅣ개발 요구사항 분석 ㅣ 개발 시작 (0) | 2021.04.01 |
[#3] Spring Boot ㅣ 스프링 부트 ㅣ H2 데이터베이스 설치 (0) | 2021.03.29 |
[#2] Spring Boot ㅣ 스프링부트 ㅣ View 환경 설정 (0) | 2021.03.28 |
[#1] 실전! 스프링 부트ㅣ Spring Boot ㅣ 프로젝트 생성하기. (0) | 2021.03.27 |