들어가기 앞서
스터디 영상
스터디 자료
spring:
application:
name: todo-api
datasource:
url: jdbc:h2:mem:todo;MODE=MYSQL
h2:
console:
enabled: true
jpa:
show-sql: true
properties:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.MySQL8Dialect
YAML
복사
안녕하세요~! 백엔드 파트리드 권찬입니다 
이번 3주차 스터디에서는 3가지 주제에 대해 다뤄보았습니다.
•
ERD를 이용한 DB 설계
•
JPA 개념
•
JPA 를 활용한 DB 구현
특히 ERD를 사용한 DB 설계의 경우, 스프링에 국한되지 않는 과정이니 알아두시면 나중에 프로젝트를 하실 때도 도움이 될 거에요.
이번 3회차 과제는 크게 3가지로 구성됩니다.
•
wil 작성 (JPA 개념을 정리해보시기를 추천드립니다)
•
todomate 서비스의 데이터베이스 erd 그려보기
•
JPA를 사용해서 설계한 erd 대로 테이블 만들어보기
자세한 내용은 아래 상세 설명을 참고해주세요 :)
과제
목표
•
ERD 그려보기
•
데이터베이스 연결해보기
•
ERD 에 맞춰 JPA로 테이블 만들어보기
제출해야할 파일과 파일 경로
•
week3/wil.md 를 작성해주세요.
JPA 관련 개념이나 스터디 피드백, 느낀 점 등을 자유롭게 정리해주세요.
•
erdcloud.com 와 같은 erd 설계 도구를 활용하여 todomate 서비스의 erd를 그려주시고, 결과물을 캡쳐해서 wil.md 에 첨부해주세요. (첨부한 이미지는 week3 폴더에 같이 넣어주세요)
erd 를 설계하실 때는 하단의 어플리케이션 기능 명세를 참고해주세요!
•
2주차 스터디를 진행했던 프로젝트에 이어서 진행해주세요.
1.
데이터베이스 & JPA 세팅하기
bulid.gradle 에 h2 데이터베이스와 jpa 의존성이 없다면 추가해주세요.
추가하신 뒤에 꼭 gradle 을 다시 로드 하셔야 합니다!
(1주차 과제 명세를 보면서 따라하셨다면 의존성이 이미 존재할 거에요)
2.
엔티티 클래스 생성하기
앞서 직접 그리신 erd를 참고하여 엔티티 클래스를 작성해봅니다.
이때 앞으로 작성할 소스코드는 엔티티 단위로 묶고자 하니, 하단 폴더 구조 예시를 참고하여 폴더를 구성해주세요.
3.
어플리케이션을 실행하고 테이블이 만들어지는지 확인하기
어플리케이션을 실행하신 후, 관리자 콘솔에 들어가셔서 테이블이 정말 생성이 되었는지 확인해주세요.
sql을 입력할 수 있는 곳에 mysql 문법을 사용하여 자유롭게 insert 쿼리를 실행하여 데이터를 넣어보셔도 좋습니다
(jpa를 사용해서 데이터를 넣는 과정은 다음 주에 진행합니다!)
참고로 데이터베이스는 메모리상에 존재하기 때문에 어플리케이션을 종료하면 데이터가 사라집니다!
잘 되셨다면 wil.md 에 테이블이 생성된 관리자 콘솔 모습을 찍어서 넣어주세요.
폴더 구조 예시
week3/
└── wil.md
└── erd 스크린 샷
└── 테이블이 생성된 관리자 콘솔 모습 스크린 샷
todoapi/
└── main/
└──── java/
└────── com.example.todoapi/
└──────── todo/
└────────── Todo.java
└──────── member/
└────────── Member.java
└────── ...
Shell
복사
폴더 구조는 위 형식을 참고하여 도메인 별로 묶어주세요!
나중에 TodoController, TodoService, TodoRepository 와 같은 클래스를 모두 하나의 todo 패키지 안에 모아서 넣을 예정입니다.
패키지 이름, 클래스 이름 같은 경우는 꼭 이렇게 따라하지 않아도 괜찮습니다.
각 엔티티 클래스마다 패키지(폴더)로 묶어주는 구조만 맞춰주시면 됩니다!
마감 기한
5/14 수요일 23:59 까지 제출해주세요.
자신의 레포지토리에 week3 폴더를 생성해 wil.md 파일을 제출합니다.
더 자세한 사항은 아래 링크를 참조해주세요.