[Spring] sql 스크립트를 활용한 기본데이터 적재

🌟 SQL script

🎯 sql script란?

프로젝트에 따라 시작과 동시에 들어가야하는 기본 데이터가 있을 수 있습니다.
이를 특정 SQL파일로 선언해두면 서버가 돌아감과 동시에 자동 실행되어
데이터를 적재하게끔 하는데, 이를 sql script이라고 부릅니다.

🎯 Spring에서의 sql script

  1. schema.sql, data.spl Spring에서 기본적으로 지원하는 sql script입니다.
    class path 루트에서 자동으로 실행됩니다.
    일반적으로 schema.sql 은 데이터베이스와 테이블을 생성하는 DDL을
    data.sql 은 데이터를 적재하는 DML을 작성합니다.

  2. import.sql hibernate에서 기본적으로 실행하는 sql script입니다.
    어떤 데이터베이스이느냐에 따라, spring.jpa.hibernate.ddl-auto가
    어떤 옵션이느냐에 따라 다르겠지만 테이블 자동생성이 설정되어있다면
    import.sql내에는 DML만 작성하면 됩니다.

🎯 sql script 사용법

Spring project 내의 resource 폴더 밑에 sql문을 생성해줍니다.
hibernate를 사용한다면 테이블 생성옵션을 설정해주시고,
application.properties(혹은 yml)에 해당 내용을 적어줍니다.

spring.datasource.schema=classpath:schema.sql
spring.datasource.initialization-mode=always
// DML에서 한글 사용시 아래 주석문을 지워주세요.
//spring.datasource.sql-script-encoding=UTF-8 

프로젝트를 실행하면 설정해둔 쿼리문들이 실행되는 것을 확인하실 수 있습니다.

https://sas-study.tistory.com/354 https://pravusid.kr/java/2018/10/10/spring-database-initialization.html


Written by@이주형
平常心

GitHubFacebook