개요
프로젝트를 진행하면서 개발할 때 ddl-auto create 옵션을 사용할 때 테이블 데이터가 된다. 데이터베이스에 데이터를 매번 Postman으로 데이터를 입력하는 대신, data.sql 파일을 생성하여 서버가 실행될 때 데이터베이스에 자동으로 SQL이 실행되도록 설정했다.
방법
1. 프로젝트의 resources폴더에 data.sql 파일을 생성한다.
2. data.sql 폴더 속 실행할 sql을 작성한다.
insert into product(product_number, type, selling_status, name, price)
values ('001', 'HANDMADE', 'SELLING', '아메리카노', 4000),
('002', 'HANDMADE', 'SELLING', '카페라떼', 4500),
('003', 'BAKERY', 'STOP_SELLING', '크루아상', 3500);
3. yml 설정 파일에 defer-datasource-initialization: true로 설정해 준다.
(Hibernate 초기화 이후 data.sql을 실행시켜야 하므로 false로 할 경우 Hibernate 초기화 이전에 실행되어서 ddl 이전에 실행이 돼 오류가 발생한다.
jpa:
hibernate:
ddl-auto: create
show-sql: true
properties:
hibernate:
format_sql: true
defer-datasource-initialization: true
실행 결과
데이터베이스에 데이터가 잘 저장되었다.
'TestCode' 카테고리의 다른 글
JUnit 객체의 필드 값 확인하기 (0) | 2024.07.15 |
---|---|
Mockito 사용하기 (0) | 2024.07.13 |
컨트롤러 테스트하기 (0) | 2024.06.30 |
Intellij에서 HTTP 요청 보내기 (0) | 2024.06.22 |
@AfterEach (0) | 2024.06.22 |