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

    ๋ฐ˜์‘ํ˜•

    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
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€