๐Ÿ”ฎSpring

[SpringBoot] H2 Database CSV ๋ฐ์ดํ„ฐ Import ํ•˜๊ธฐ

harry.93 2022. 7. 29. 17:54
๋ฐ˜์‘ํ˜•

SpringBoot 2.7.2 , Java11 ์‚ฌ์šฉ

1. H2 Database ์‚ฌ์šฉ ์„ค์ •

- build.gradle

dependencies {
	...
	// https://mvnrepository.com/artifact/com.h2database/h2
	implementation group: 'com.h2database', name: 'h2', version: '2.1.214'
	// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jdbc
	implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jdbc', version: '2.7.1'
    ...
}

 

- application.yml

spring:
  application:
    name: sample
  datasource:
    hikari:
      # ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๋™
      jdbc-url: jdbc:h2:mem:h2-test
      driver-class-name: org.h2.Driver
      username: sa
      password:
      maximum-pool-size: 10
  h2:
    console: # h2 ์ฝ˜์†” ์‚ฌ์šฉ ์˜ต์…˜
      enable: true
      path: /h2-console

 

2. CSV ํŒŒ์ผ ๊ฒฝ๋กœ 

csv ํŒŒ์ผ ์œ„์น˜ ์‹œํ‚ฌ ๊ณณ

src/resources ๋ฐ‘์— schema.sql ์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ • ์‹œ, ํ•ด๋‹น ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ์œ„์น˜์— ํŒŒ์ผ์„ ์ž‘์„ฑํ•œ๋‹ค.

- ํŒŒ์ผ ๊ตฌ์กฐ ์˜ˆ์‹œ

3. Schema.sql ์ž‘์„ฑ

์˜ˆ์‹œ) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ์ƒ์„ฑ ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ๋ฐ€์–ด๋„ฃ์Œ.

- H2 Database 'CSVREAD' ํ•จ์ˆ˜ ํ™œ์šฉ(http://h2database.com/html/tutorial.html#csv)

- Schema.sql

CREATE TABLE IF NOT EXISTS bank_user AS SELECT * FROM CSVREAD('classpath:bank_user.csv');

 

ํด๋ž˜์ŠคํŒจ์Šค(classpath) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ์œ„์น˜์—์„œ ํŒŒ์ผ์„ ์ฐพ์•„์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ๋” ๊ตฌ์„ฑ.

"D:\test.csv" ์™€ ๊ฐ™์ด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‚˜, ๋ณธ์ธ๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•˜๋ฉด ๋ถˆํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์ƒ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ž‘์„ฑํ•˜์—ฌ ๋ถˆํŽธํ•จ์„ ๋œ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.

 

- ๊ฒฐ๊ณผ ํ™•์ธ

http://localhost:8080/h2-console ๋กœ ์ ‘์†ํ•˜์—ฌ ํ™•์ธ.

 

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€์ˆ˜0