🔥자 이제 대망의 스프링 첫 프로젝트를 시작해 봅시다🔥
스프링 MVC 패턴을 완벽히 이해하기 위한 첫 단계로, 간단하게 HelloShop 과 비슷한 강아지 샵(?) 구현을 해보려고 한다!
내가 견주라 딱 생각나는 게 이거였다 히히
배웠던 내용들을 떠올리며 차근차근 시작해보자! 빠이팅👍🏻🤚🏻
스프링 부트 스타터 사이트로 이동해서 프로젝트 생성
✔️ 프로젝트 선택
✔️ Project Metadata
✔️ Dependencies
➡️ 처음 실행 시
➡️ 그 다음부터
이제 JPA와 DB 설정을 하고 동작을 확인해봐야 하는데,
application.properties
와 application.yml
중에 하나만 사용하면 되는데 설정 파일이 많아질 수록 application.yml
을 사용하는 것이 좋다🙂
우리는 application.yml
을 사용할 것이므로 기본적으로 생성되어 있는 application.properties
은 지우도록 하자!
✔️ application.yml
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/dmd;MVC=TRUE
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
# show_sql: true
format_sql: true
logging.level:
org.hibernate.SQL: debug
# org.hibernate.type: trace
jdbc:h2:tcp://localhost/~/dmd;MVC=TRUE
MVC=TRUE
옵션은 동시접속 시 좀 더 빠르게 사용 가능ddl-auto: create
📌 참고
application.yml
같은yml
파일은 띄어쓰기(스페이스) 2칸으로 계층을 만들기 때문에 주의해서 작성!
1️⃣ 회원 기능
2️⃣ 상품 기능
3️⃣ 주문 기능
4️⃣ 기타 요구사항
1️⃣ 회원, 주문, 상품의 관계
2️⃣ 상품 분류
1️⃣ 회원(Member)
2️⃣ 주문(Order)
3️⃣ 주문상품(OrderItem)
4️⃣ 상품(Item)
5️⃣ 배송(Delivery)
6️⃣ 카테고리(Category)
7️⃣ 주소(Address)
1️⃣ MEMBER
Address
를 임베디드 타입으로 만들었는데 그 정보가 회원 테이블과 배송 테이블에 들어갔다.2️⃣ ITEM
1️⃣ 회원과 주문
Order.member
를 ORDERS.MEMBER_ID
외래 키와 매핑한다.2️⃣ 주문상품과 주문
OrderItem.order
를 ORDER_ITEM.ORDER_ID
외래 키와 매핑한다.3️⃣ 주문상품과 상품
OrderItem.item
을 ORDER_ITEM.ITEM_ID
외래 키와 매핑한다.4️⃣ 주문과 배송
Order.delivery
를 ORDERS.DELIVERY_ID
외래 키와 매핑한다.5️⃣ 카테고리와 상품
CATEGORY_ENTITY
라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어냈다.@ManyToMany
는 거의 사용하지 않는다.