์ด๋ฒ ์ฐ์ต๋ฌธ์ ์ ๋ชฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ํ ์ ์๊ณ , ์ฃผ์ด์ง ์คํค๋ง๋ฅผ ๊ตฌํํ ์ ์๋๋ก SQL์ ์์ฑํด์ผํฉ๋๋ค.
Part_1, Part_2 ํ ์คํธ๋ฅผ ์ ๋ถ ํต๊ณผํ์ญ์์ค.
script/Properties.java ํ์ผ์ ํ์ธํ๊ณ ๋ด ์ ๋ณด๋ฅผ ์์ ํด์ฃผ์ธ์.
practiceSQL์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋์ธ์. ์์ผ๋ก ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.lib/Mysql.java์์Properties.java๋ณ์๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ํ์ธํด๋ณด์ธ์.
๋คํํ๋ ์ฌ๋ฌ๋ถ๋ค์ด ์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ถ๋ถ์ ์ง์ ๊ตฌํํ ํ์๋ ์์ต๋๋ค. ํ์ฌ ์ฐ์ต๋ฌธ์ ์์ ์์ฑํด์ผ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ถ๋ถ์ ์ด๋ฏธ ๋ค ๊ตฌํ๋์ด์์ผ๋ฉฐ, ์ดํ Section3์์ ํ์ตํ์๋ ๋ด์ฉ์ ํตํด ์ง์ ์ฐ๊ฒฐํ๋ ๋ถ๋ถ์ ์์ฑํ๊ฒ ๋ ๊ฒ์
๋๋ค. ์ด ์๊ฐ์๋ ํด๋น ๋ถ๋ถ์ ์ ๋ถ ์ดํด๋ ค๊ณ ํ๊ธฐ ๋ณด๋ค๋, Properties.java ๊ด๋ จํ์ฌ MySQL ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ด์ ์ ๋๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
-
/lib/FactoryService.java- FactoryService๋ ์ฌ๋ฌ๋ถ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ์ฌ, ์ํ๋ SQL์ ์์ฑํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ ๊ฒ๊ณผ ๋ณ๊ฐ๋ก TEST๊ฐ ๋์ํ ์ ์๋๋ก ๋์์ฃผ๋ Class ์ ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ํด๋น ์ฐ์ต๋ฌธ์ ์ ๋์์ด ๊ถ๊ธํ์ ๋ถ๋ค๋ง ์ฐธ๊ณ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
-
/lib/Mysql.java- Mysql ์๋น์ค์ ์ ์ํ๊ณ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ ์์ ๊ณผ ์์์ ์ข ๋ฃํ๋ ๋์์ ๋์์ฃผ๋ Class์ ๋๋ค.
-
/schema.sql- ์ด๋ฒ ์ฐ์ต๋ฌธ์ ์ ํต์ฌ์ด์, ๊ผญ ์์ฑํด์ผํ๋ ๋ถ๋ถ์ ๋๋ค. ์ํ๋ ํ ์ด๋ธ๊ณผ ์นผ๋ผ์ ์์ฑํ ์ ์์ด์ผํฉ๋๋ค.
- FactoryService๊ฐ ์ฌ์ฉํ๋ ๋ณ๋์ ๊ฐ์ฒด์ ๋๋ค. ํด๋น ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ, ํ ์ด๋ธ์ ์กฐ์ํ๊ฒ๋ฉ๋๋ค.
- DTO, DAO์ ๋ํ ๋ด์ฉ์ Section3์์ ํ์ตํ๊ฒ ๋ฉ๋๋ค. ํด๋น ์ฝ๋๋ฅผ ์ดํดํ์ง ์์๋ ๋ฉ๋๋ค.
- ๊ฐ ํํธ์ ๋ง๊ฒ SQL STATEMENT๋ฅผ ์ฑ์๋ฃ์ด์ฃผ์ธ์. ์ํ๋ ๊ฒ์ ํ์ธํ๊ณ , ๊ทธ์ ๋ง๋ SQL์ ์์ฑํด์ผํฉ๋๋ค.
.gitignore ํน์ build.gradle ์ ๊ฐ์ ๋ถ๋ถ์ ์ฝ๋๋ฅผ ๋ณด๊ฑฐ๋ ๊ฒ์์ ํตํด์ ์ดํดํ์ค ์ ์์์ผ๋ฉด ํฉ๋๋ค.
[์ฐธ๊ณ 1] ๋ชจ๋ ํ ์คํธ์ผ์ด์ค๊ฐ ์คํ๋๊ธฐ ์ , schema.sql ํ์ผ์ด ์คํ๋๊ณ , ๋๋ ํ, database๊ฐ ์ญ์ ๋ ํ ์๋ก ์์ฑ๋ฉ๋๋ค.
/lib/FactoryService.java ์ setup ๋ฉ์๋๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
์คํค๋ง๋ฅผ ๋์์ธํ๊ธฐ ์ํด ๋ค์ํ ์ธ๋ถ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ฐํ๊ณผ ํ์ ์ด์ฉํ A4์ฉ์ง ๋ฐ ํ์ดํธ ๋ณด๋
- DBdiagram
- WWW SQL Designer
- MySQL Workbench
ํ์ฌ ํ ์ด๋ธ์ ๊ฒฐ๊ณผ๊ฐ์ List์ Map์ ํ์ฉํ์ฌ ์ถ๋ ฅํ๊ณ ์์ต๋๋ค. ์ค์ Mysql์์ ๋ณด์ฌ์ฃผ๋ ๊ฒฐ๊ณผ์ ํ์์ด ๋ค๋ฅผ ์ ์์ต๋๋ค.