๋ฐฑ์—”๋“œ

[JAVA-jdbc] Window H2 Database ์„ค์น˜/์„œ๋ฒ„ ์‹คํ–‰

๐Ÿช„ํ•˜๋ฃจ๐Ÿช„ 2023. 5. 11. 23:34
728x90
๋”๋ณด๊ธฐ

์‚ฌ๋‹ด)

์˜ค๋žœ๋งŒ์— ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•˜๋‹ˆ ๋ฐฉ๋ฌธ์ž์ˆ˜๊ฐ€ 200๋ช…์ด ๋„˜์—ˆ๋‹ค. 
์‚ฌ์‹ค, ๊ทธ๋™์•ˆ ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ์ง„๋กœ๋ฅผ ์žก์•„์•ผ ํ• ์ง€ ๋ฐฉํ™ฉํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ,
์•„๋งˆ ๋ธ”๋กœ๊ทธ์—๋„ ๊ทธ๋Ÿฌํ•œ ํ”์ ์ด ์กฐ๊ธˆ์€ ๋“œ๋Ÿฌ๋‚˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค.

์ƒ๊ฐ์„ ๋ฉˆ์ถ”๊ณ  ์ง€๊ธˆ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์„ ํ•˜์ž.

โ€ป ์‹ค์ „! ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ํ™œ์šฉ1 ์ธํ”„๋Ÿฐ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

1. H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์น˜

https://h2database.com/

 

H2 Database Engine (redirect)

H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/server mo

h2database.com

ํ•ด๋‹น ๋งํฌ์— ์ ‘์†ํ•ด Windows Installer๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ๋’ค ์„ค์น˜ํ•œ๋‹ค.

์ž๋ฐ”17+h2 2.1.214 ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

์•„๋ž˜ ํŒŒ๋ž‘์ƒ‰ ์œ„์น˜๋ฅผ ์ž˜ ๊ธฐ์–ตํ•ด ๋†“์ž.

 

H2 Database ์œ„์น˜ ์„ค์ •

 

2. H2 Database ์„œ๋ฒ„ ์‹คํ–‰๊ณผ DBํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ

H2 Database ์„œ๋ฒ„๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฐ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

 

1) ์‹คํ–‰ํŒŒ์ผ ์„ ํƒ

1๋ฒˆ์—์„œ h2๋ฅผ ์„ค์น˜ํ–ˆ๋˜ ์œ„์น˜๋กœ ์ ‘๊ทผํ•œ๋’ค [H2]-[bin]-h2.bat ํŒŒ์ผ์„ ๋”๋ธ”ํด๋ฆญํ•˜์—ฌ ์‹คํ–‰์‹œํ‚จ๋‹ค.

 

2) cmd ๋กœ ์‹คํ–‰

์œˆ๋„ ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ ๋’ค cmd(๊ฒ€์ƒ‰ํ”„๋กฌํ”„ํŠธ)๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

์ดํ›„ 1๋ฒˆ์—์„œ h2๋ฅผ ์„ค์น˜ํ–ˆ๋˜ ์œ„์น˜๋กœ ์ ‘๊ทผํ•œ ๋’ค, H2ํด๋” ์•ˆ์˜ bin ํด๋”๋กœ ์ ‘๊ทผํ•œ๋‹ค.    cd h2์œ„์น˜\H2\bin

๋งˆ์ง€๋ง‰์œผ๋กœ h2.bat ํŒŒ์ผ์„ ์‹คํ–‰์‹œํ‚จ๋‹ค.    h2.bat

cmd ๋ช…๋ น์–ด

 

1), 2) ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ h2.bat ํŒŒ์ผ์„ ์‹คํ–‰ํ‚จ๋‹ค.

์ด์ œ DB ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , ์ด์— ์ ‘๊ทผํ•ด ๋ณด์ž.

 

 

๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€๋Š” ๋‹ค๋ฅด๊ฒŒ H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋…ํŠนํ•œ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

 

์›๋ž˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์— ์ ‘๊ทผํ•  ๋•Œ์—๋Š” DB ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜์—ฌ ํŒŒ์ผ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, 

[DB ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ์ ‘๊ทผ]    jdbc:h2:tcp://localhost/~/ํŒŒ์ผ์ด๋ฆ„

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ → DB ์„œ๋ฒ„ → h2.db ํŒŒ์ผ 

H2 ์›น ์ฝ˜์†” → DB ์„œ๋ฒ„ → h2.db ํŒŒ์ผ 

 

H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ํŠน์ดํ•˜๊ฒŒ ํŒŒ์ผ์— ์ง์ ‘ ์ ‘๊ทผ ํ•˜๋Š” ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค.

[ํŒŒ์ผ์— ์ง์ ‘ ์ ‘๊ทผ]    jdbc:h2:~/ํŒŒ์ผ์ด๋ฆ„

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ → h2.db ํŒŒ์ผ 

H2 ์›น ์ฝ˜์†” → h2.db ํŒŒ์ผ 

 

ํ•˜์ง€๋งŒ, ํŒŒ์ผ์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ,

ํ•˜๋‚˜์˜ ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ๊ณณ์—์„œ ์ฐธ๊ณ ํ•  ๊ฒฝ์šฐ ๋™์‹œ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํŒŒ์ผ์— ๋ฝ์„ ๊ฑธ์–ด

์‚ฌ์šฉ์ค‘์ธ ๊ณณ ์™ธ์˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.

 

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์‹œ

์ฒ˜์Œ DBํŒŒ์ผ์„ ์ƒ์„ฑ์‹œ์—๋งŒ ํŒŒ์ผ์— ์ง์ ‘ ์ ‘๊ทผํ•˜๊ณ , ์ดํ›„ DBํŒŒ์ผ ์ ‘๊ทผ์‹œ์—๋Š” DB ์„œ๋ฒ„๋ฅผ ํ†ตํ•˜๋„๋ก ํ•œ๋‹ค.

 

 

โ‘  DB ํŒŒ์ผ ์ƒ์„ฑ (DB ํŒŒ์ผ์— ์ง์ ‘ ์ ‘๊ทผ)

 

H2 ํŒŒ์ผ ์ƒ์„ฑ by ํŒŒ์ผ์ ‘๊ทผ

 

์ฃผํ™ฉ์ƒ‰ ๋ถ€๋ถ„์„ localhost๋กœ ๋ฐ”๊พธ๊ณ  JDBC URL์˜ ๋’ท๋ถ€๋ถ„์„ ์›ํ•˜๋Š” ์ด๋ฆ„(jdbc:h2:~/ํŒŒ์ผ์ด๋ฆ„)์œผ๋กœ ๋ณ€๊ฒฝํ•œ ๋’ค, ์—ฐ๊ฒฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

H2 ์ฝ˜์†” ํ™”๋ฉด

โ‘ก DB ํŒŒ์ผ ์ ‘๊ทผ (DB ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ์ ‘๊ทผ)

 

H2 ์„œ๋ฒ„ ์ ‘์†

DB ํŒŒ์ผ ์ƒ์„ฑ ์ดํ›„์—๋Š”, DB ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๋„๋ก ํ•œ๋‹ค.

JDBC URL์„ jdbc:h2:tcp://localhost/~/ํŒŒ์ผ์ด๋ฆ„ ์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.

728x90