1. application.yml

spring:
  h2:
    console:
      enabled: true

  datasource:
    url: "dburl명"
    username: sa
    password:
    driver-class-name: org.h2.Driver

  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        show_sql: true
        format_sql: true
    defer-datasource-initialization: true

sql:
  init:
    mode: always

logging:
  level:
    org.hibernate.SQL: debug

 

defer-datasource-initialization: true

sql:
  init:
    mode: always

- 해당 코드를 application.yml에 붙여줌 (글쓴이는 spring boot 2.7.5 버전 기준 h2 db에 쿼리를 실행하려고 함) 

 

 

2.resources 디렉터리 밑에 import.sql 생성

- sql명을 처음에 data.sql로 지정하였는데, insert가 안되길래 import.sql로 이름을 바꾸면 insert가 된다는 글이 있길래 바꿔보니 insert가 됨

 

import.sql

INSERT INTO USERS(USER_ID, USERNAME, PASSWORD, NICKNAME, ACTIVATED) VALUES(1, 'admin', '$2a$10$E2pUd//AHzJ9GftoOUGMnudE967qaiZ1elVzkpv3lO0NNYhl6Dmmy', 'admin', 1);

INSERT INTO AUTHORITY (AUTHORITY_NAME) VALUES ('ROLE_USER');
INSERT INTO AUTHORITY (AUTHORITY_NAME) VALUES ('ROLE_ADMIN');

INSERT INTO USER_AUTHORITY (USER_ID, AUTHORITY_NAME) VALUES (1, 'ROLE_USER');
INSERT INTO USER_AUTHORITY (USER_ID, AUTHORITY_NAME) VALUES (1, 'ROLE_ADMIN');

- import.sql은 서버 restart시 실행할 쿼리를 입력하면됨, 글쓴이는 default 사용자 정보 권한을 입력하려고 넣었음

 

실행결과

복사했습니다!