[Spring][ํ˜ผ๊ณต] 6. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ  - (1) H2 DB ์„ค์น˜

2021. 9. 10. 15:31ยท๐Ÿ“ Language/โœ JAVA

์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ 

์ง€๊ธˆ๊นŒ์ง€๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ์„ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๊ฐ€ ๋‚ด๋ ค๊ฐ€๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋“ค์ด ์‚ฌ๋ผ์กŒ๋‹ค.

๊ทธ๋ž˜์„œ ์‹ค๋ฌด์—์„œ๋Š” DB(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)์— ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค.

 

  • ์ˆœ์ˆ˜ JDBC: JDBC๋Š” DB SQL์„ ์ด์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์™€ DB๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ์ˆ ๋กœ ์ˆœ์ˆ˜ JDBC๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์˜ˆ์ „์— ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.
  • ์Šคํ”„๋ง JDBC Template: ์ˆœ์ˆ˜ JDBC๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ค์šฐ๋‹ˆ ์Šคํ”„๋ง์ด ์ค‘๋ณต ์ œ๊ฑฐ์™€ ๊ฐ™์€ ์ž‘์—…์„ ํ•œ Template์„ ์ œ๊ณตํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ DB๋กœ SQL์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
  • JPA: SQL์„ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ง์ ‘ ์งœ๋Š” ๊ฒƒ์ด ์•„๋‹Œ JPA๊ฐ€ ๊ฐ์ฒด์˜ ๋“ฑ๋ก, ์‚ญ์ œ, ์ˆ˜์ • ๋“ฑ ์ฟผ๋ฆฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA: JPA๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•œ๋‹ค.

 

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

1) H2 ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค

https://www.h2database.com/html/main.html

  • ๊ต์œก์šฉ์œผ๋กœ ์ข‹๋‹ค.
  • ์šฉ๋Ÿ‰๋„ ์ ๊ณ  ๊ฐ€๋ณ๋‹ค.
  • ์›น์œผ๋กœ ์–ด๋“œ๋ฏผ ํ™”๋ฉด์„ ์ œ๊ณตํ•œ๋‹ค.

 

2) ์‹คํ–‰ ๋ฐ ์„ค์ •

jdbc:h2:~/test

  • ์„ค์น˜ํ•œ ํ›„ ์‹คํ–‰ํ•˜๋ฉด, ์ตœ์ดˆ์—๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•œ ํ›„ ์—ฐ๊ฒฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

์‚ฌ์šฉ์ž ํด๋”

  • ์ด๋•Œ, ์ž˜ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž ํด๋” ์•„๋ž˜ test.mv.db ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ์ด ํ•„์š”ํ•˜๋‹ค.

jdbc:h2:tcp://localhost/~/test

  • ์ดํ›„์— ์ ‘์†ํ•  ๋•, ํŒŒ์ผ์— ์ง์ ‘ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์†Œ์ผ“์„ ํ†ตํ•ด ์ ‘๊ทผํ•˜๋„๋ก ์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•œ ํ›„ ์—ฐ๊ฒฐํ•œ๋‹ค.
  • ๋งŒ์•ฝ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค๋ฉด, test.mv.db ํŒŒ์ผ์„ ์‚ญ์ œํ•œ ํ›„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.

 

3) ํ…Œ์ด๋ธ” ์ƒ์„ฑ

ํ…Œ์ด๋ธ” ์ƒ์„ฑ

  • ์˜ค๋ฅธ์ชฝ์— ์ฟผ๋ฆฌ ๋ฌธ์„ ์ž…๋ ฅํ•œ ํ›„ ์‹คํ–‰ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์™ผ์ชฝ์— MEMBER ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์กฐํšŒ(select), ๋“ฑ๋ก(insert) ๋“ฑ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

4) SQL ๊ด€๋ฆฌ

sql/ddl.sql

  • ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ddl.sql ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.
  • ์†Œ์Šค ๊ด€๋ฆฌ ํˆด(git)์„ ์ด์šฉํ•ด ํ•จ๊ป˜ ๊ด€๋ฆฌ๊ฐ€ ๋˜๋ฏ€๋กœ ํ•จ๊ป˜ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ“ Language/โœ JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Spring][ํ˜ผ๊ณต] 6. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ  - (3) ์Šคํ”„๋ง ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
  • [Spring][ํ˜ผ๊ณต] 6. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ  - (2) ์ˆœ์ˆ˜ JDBC
  • [Spring][ํ˜ผ๊ณต] 5. ์›น MVC ๊ฐœ๋ฐœ - ํšŒ์› ์›น ๊ธฐ๋Šฅ
  • [Spring][ํ˜ผ๊ณต] 4. ์Šคํ”„๋ง ๋นˆ๊ณผ ์˜์กด๊ด€๊ณ„ - (2) ์ง์ ‘ ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋กํ•˜๊ธฐ
Blxxming
Blxxming
CS ์ง€์‹๊ณผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ฐฐ์šด ๊ฒƒ, ๊ฒฝํ—˜ํ•œ ๊ฒƒ ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
  • Blxxming
    ๐Ÿ’ก๋ฒˆ๋œฉ๐Ÿ’ก
    Blxxming
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ณต์ง€์‚ฌํ•ญ

    • Tech Interview
    • ๐Ÿ“š Tech (246)
      • ๐Ÿ“ Computer Science (96)
        • โœ OS (12)
        • โœ Network & Web (10)
        • โœ Database (11)
        • โœ Data Structure (6)
        • โœ Algorithm (40)
        • โœ Design Pattern (9)
        • โœ Cloud Computing (3)
        • โœ (5)
      • ๐Ÿ“ Language (73)
        • โœ Language (6)
        • โœ C & C++ (11)
        • โœ C# (19)
        • โœ JAVA (37)
      • ๐Ÿ“ Game (43)
        • โœ Computer Graphics (2)
        • โœ Unity (14)
        • โœ Unreal (26)
        • โœ (1)
      • ๐Ÿ“ Book (34)
        • โœ Effective (3)
        • โœ Game Server (16)
        • โœ Clean Code (14)
        • โœ (1)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
Blxxming
[Spring][ํ˜ผ๊ณต] 6. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ  - (1) H2 DB ์„ค์น˜
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”