반응형
Spring boot 프로젝트에서 로그인 기능을 구현할 때,
H2와 같은 메모리 DB를 사용할 경우 특성상 서버가 종료되고 다시 실행되면 DB 내에 회원 정보가 초기화된다.
이 때, 서버를 종료하고 다시 수동 테스트를 할 때마다 회원가입을 통해 DB에 회원정보를 넣는 것을 반복해야하는 문제가 발생한다.
Spring boot 공식 문서를 확인해보면,
Initialize a Database Using Hibernate라는 부분이 있다.
문서 하위에,
In addition, a file named import.sql in the root of the classpath is executed on startup
if Hibernate creates the schema from scratch.
클래스패스의 루트 위치 (src/main/java 혹은 src/main/resource)에 import.sql 파일은
Hibernate가 처음부터 스키마를 생성하는 경우 실행된다고 한다.
이를 이용해 import.sql 파일에
INSERT INTO USER (USER_ID, PASSWORD, NAME, EMAIL) VALUES ("java", "java", "java", "java@java.com");
INSERT INTO USER (USER_ID, PASSWORD, NAME, EMAIL) VALUES ("admin", "admin", "admin", "admin@java.com");
위와 같은 SQL INSERT 문을 작성하면 서버 시작 시 import.sql이 실행되면서
DB에 데이터가 추가된다.
단, Intellij를 사용할 경우 Community 버전에서는 .sql 확장자를 가진 파일에 대해서 지원하지 않는다.
'Anything' 카테고리의 다른 글
AWS에서 Spring boot 프로젝트 로그인 시간 오래 걸림 (2) | 2021.07.08 |
---|---|
Mustache에서 세션 값 노출 설정 (0) | 2021.07.07 |
[AWS] Windows에서 AWS Linux SSH 연결 (0) | 2021.06.17 |
[Anything] GCP에서 웹 서비스 배포 (0) | 2021.06.16 |
[Ubuntu] 우분투 한글 깨짐 해결 (0) | 2021.06.15 |