728x90
320x100
[사용기술]
Java, Spring Boot, Spring JPA, MySQL
[만들려는 것]
책을 위한 SNS.
[오늘 하려는 것]
조회용 샘플 데이터를 생성
InitDb.java
나는 application.properties 설정을 아래와 같이 해놓고 있다. 개발 초기에는 계속 create(서버 올라갈 때 테이블 다 드랍하고 다시 create하는 방식) 을 사용할 거라서 조회용 데이터를 미리 만들어서 서버 올라갈 때 Insert되게끔 해놓음.
spring.jpa.hibernate.ddl-auto=create
package seulgi.bookbookclub;
import jakarta.annotation.PostConstruct;
import jakarta.persistence.EntityManager;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import seulgi.bookbookclub.domain.*;
@Component
@RequiredArgsConstructor
public class InitDb {
private final InitService initService;
@PostConstruct
public void init() {
initService.dbInit1();
}
@Component
@Transactional
@RequiredArgsConstructor
static class InitService {
private final EntityManager em;
public void dbInit1() {
//회원 2명 생성
Member member1 = new Member("이름1", "1234", "닉네임1", "정보1");
Member member2 = new Member("이름2", "3456", "닉네임2", "정보2");
em.persist(member1);
em.persist(member2);
//책 2개 생성
Book book1 = new Book("111111111111","책이름1", "저자1", "출판사1");
Book book2 = new Book("222222222222","책이름2", "저자2", "출판사2");
em.persist(book1);
em.persist(book2);
//이름1에 타임라인2개 생성
Timeline timeline1 = new Timeline(member1, book1 ,"내용1");
Timeline timeline2 = new Timeline(member1, book2, "내용2");
em.persist(timeline1);
em.persist(timeline2);
//이름2가 이름1을 팔로잉
Follow follow = new Follow(member2, member1);
em.persist(follow);
//이름2가 이름1의 타임라인을 조항요
Likes likes = new Likes(member2, timeline1);
em.persist(likes);
}
}
}
- 아직 개발 중이기 때문에 'create' 모드로 작업할 예정이라서 조회용 샘플 데이터를 만들어 놓기로 함.
데이터 확인
SELECT * FROM MEMBER;
SELECT * FROM TIMELINE;
SELECT * FROM BOOK;
SELECT * FROM FOLLOW;
SELECT * FROM LIKES;
728x90
320x100
'💻 뚝딱뚝딱 > 북북클럽' 카테고리의 다른 글
[개발일지#008] 타임라인 등록/삭제/조회API 구현 (1) | 2025.01.22 |
---|---|
[개발일지#007] 회원 등록/수정/조회 API 개발 (0) | 2025.01.21 |
[개발일지#005] 좋아요 도메인 개발 및 테스트 (0) | 2025.01.20 |
[개발일지#004] 팔로우 도메인 개발 및 테스트 (0) | 2025.01.20 |
[개발일지#003] 타임라인 도메인 개발 및 테스트 (0) | 2025.01.20 |