์คํ๋ง DB ์ ๊ทผ ๊ธฐ์
์ง๊ธ๊น์ง๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ๋ด๋ ค๊ฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐ์ดํฐ๋ค์ด ์ฌ๋ผ์ก๋ค.
๊ทธ๋์ ์ค๋ฌด์์๋ DB(๋ฐ์ดํฐ๋ฒ ์ด์ค)์ ๋ฐ์ดํฐ๋ค์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ค.
- ์์ JDBC: JDBC๋ DB SQL์ ์ด์ฉํด ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ DB๋ฅผ ์ฐ๊ฒฐํ ๋ ํ์ํ ๊ธฐ์ ๋ก ์์ JDBC๋ ๋ง ๊ทธ๋๋ก ์์ ์ ์์ํ๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๋งํ๋ค.
- ์คํ๋ง JDBC Template: ์์ JDBC๋ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ฐ๋ ์คํ๋ง์ด ์ค๋ณต ์ ๊ฑฐ์ ๊ฐ์ ์์ ์ ํ Template์ ์ ๊ณตํ๊ฒ ๋๋ค. ์ด ๊ธฐ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ DB๋ก SQL์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
- JPA: SQL์ ๊ฐ๋ฐ์๋ค์ด ์ง์ ์ง๋ ๊ฒ์ด ์๋ JPA๊ฐ ๊ฐ์ฒด์ ๋ฑ๋ก, ์ญ์ , ์์ ๋ฑ ์ฟผ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค.
- ์คํ๋ง ๋ฐ์ดํฐ JPA: JPA๋ฅผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ ๊ณตํ๋ค.
1. H2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์น
1) H2 ๋ฐ์ดํฐ ๋ฒ ์ด์ค
- ๊ต์ก์ฉ์ผ๋ก ์ข๋ค.
- ์ฉ๋๋ ์ ๊ณ ๊ฐ๋ณ๋ค.
- ์น์ผ๋ก ์ด๋๋ฏผ ํ๋ฉด์ ์ ๊ณตํ๋ค.
2) ์คํ ๋ฐ ์ค์
- ์ค์นํ ํ ์คํํ๋ฉด, ์ต์ด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ๋ง๋ค์ด์ผ ํ๋ค. ์์ ๊ฐ์ด ์ค์ ํ ํ ์ฐ๊ฒฐ ๋ฒํผ์ ๋๋ฅธ๋ค.
- ์ด๋, ์ ์์ฑ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ์ ํด๋ ์๋ test.mv.db ํ์ผ์ด ์์ฑ๋์๋์ง ํ์ธ์ด ํ์ํ๋ค.
- ์ดํ์ ์ ์ํ ๋, ํ์ผ์ ์ง์ ์ ์ํ๋ ๊ฒ์ด ์๋ ์์ผ์ ํตํด ์ ๊ทผํ๋๋ก ์์ ๊ฐ์ด ์ค์ ํ ํ ์ฐ๊ฒฐํ๋ค.
- ๋ง์ฝ ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค๋ฉด, test.mv.db ํ์ผ์ ์ญ์ ํ ํ ์ฒ์๋ถํฐ ๋ค์ ์ค์ ํ๋ฉด ๋๋ค.
3) ํ ์ด๋ธ ์์ฑ
- ์ค๋ฅธ์ชฝ์ ์ฟผ๋ฆฌ ๋ฌธ์ ์ ๋ ฅํ ํ ์คํ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ผ์ชฝ์ MEMBER ํ ์ด๋ธ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ์กฐํ(select), ๋ฑ๋ก(insert) ๋ฑ ์คํํ ์ ์๋ค.
4) SQL ๊ด๋ฆฌ
- ํ ์ด๋ธ ๊ด๋ฆฌ๋ฅผ ์ํด ํ๋ก์ ํธ ๋ฃจํธ์ ddl.sql ํ์ผ์ ์์ฑํ๋ค.
- ์์ค ๊ด๋ฆฌ ํด(git)์ ์ด์ฉํด ํจ๊ป ๊ด๋ฆฌ๊ฐ ๋๋ฏ๋ก ํจ๊ป ์ ์ฅํ๋ ๊ฒ์ด ์ข๋ค.