본문 바로가기

Java/Java JPA

java jpa에서 data.sql을 이용하여 데이터를 주입시키는 방법(H2)(기본 설정)

Java Jpa에서 data를 주입 시키는 방법에 대해 소개 시켜드리겠습니다

 

*JAVA 20 기준입니다 

 

1. 의존성 추가

- Jpa나 H2를 이용하기 위해서는 라이브러리를 가져와야 하는데요 가져오는 방법은 build.grade 파일이나 pom.xml을 수정하면 됩니다

저는 build.grade 파일을 사용하여 의존성을 추가해주었습니다

//build.grade

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.1.2'
    id 'io.spring.dependency-management' version '1.1.2'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '20'
}

configurations {
     compileOnly {
            extendsFrom annotationProcessor
   }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    
    /* h2 */ runtimeOnly 'com.h2database:h2'
    /* jpa */implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}

tasks.named('test') {
	useJUnitPlatform()
}

grade파일에 dependencies에서 필요한 라이브러리를 추가해 주면 됩니다 필요한 라이브러리는

https://mvnrepository.com/  <<- 저는 요기서 주로 검색을 해서 찾아 사용하는 편입니다

 

2. application.yml 파일 설정

의존성을 추가한 이후에 src/main or test/repository(test는 생성이 필요 합니다) 에 있는 application.yml파일을 수정합니다(application.properties 파일로 하셔도 상관 없습니다 ^^)

 

#application.yml
spring:
  jpa:
    hibernate:
      ddl-auto: update #ddl-auto 설정을 자동으로 업데이트
    properties:
      hibernate:
        format_sql: true #실행한 query를 가독성 있게 표현
        show_sql: true #실행한 query를 보여준다
    show-sql: true
  h2:
    console:
      enabled: true #h2 console 연결 설정
  datasource:
    url: jdbc:h2:mem:2d906f3d-9190-453b-a306-4210c5923331 #data source url 입력
    username: sa #사용자 정보 입력
    password:	 #비번 입력
  sql:
    init:
      data-locations: classpath:data.sql #sql 초기화 위치 저장

해당 방식으로 지정했습니다

 

다음 포스팅에서 Java를 이용해서 구현을 간단하게 해보겠습니다

 

* 틀린 부분이나 오타 확인시 댓글로 지적 부탁드립니다

* 공부 하는 입장에서 올린거니 무분별한 악플은 자제 부탁드립니다