[PreparedStatement ๋]
์ฟผ๋ฆฌ๋ฌธ์ ์คํํ๋ ๊ธฐ๋ฅ (Statement ๊ฐ์ฒด๋ฅผ ๋์ ํ๋ค.)
- ๊ฐ ๋ณํ์ ์๋์ผ๋ก ํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํจ
- PreparedStatement ๊ฐ์ฒด๋ ๊ฐ์ ์ง์ ํ ๋ ๊ฐ ๋ถ๋ถ์ ๋ฌผ์ํ(?)๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ ๊ฐ์ ์ง์ ๊ฐ๋ฅ
- ์ฒซ๋ฒ์งธ ๋ฌผ์ํ์ ์ธ๋ฑ์ค๋ 1์ด๋ค ์ดํ ๋ฌผ์ํ๋ ์์๋๋ก ๊ฐ์ด 1์ฉ ์ฆ๊ฐํ๋ค.
[Model ์ ๋ํ์ฌ]
DAO : db ์ ๊ทผ,์์ ํด๋์ค
VO (DTO) : ๊ฐ์ ๋ค๊ณ ๋ค๋๋ ํด๋์ค
[DAO (Data Access Object) ํด๋์ค]
DB ์ ๊ทผ,์์ ํด๋์ค DAO ๋ถํ์ํ๊ฒ ์ฌ๋ฌ๊ฐ ๋ง๋ค ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด๊ฐ ํ๊ฐ๋ง ์์ฑ๋๋๋ก ์ฑ๊ธํค ํ์์ผ๋ก ์ค๊ณํ๋ค.
- ๋์์ ์ ๊ฐ์ฒด๋ฅผ 1๊ฐ ์์ฑ , private ๋ถ์ private static DepartmentDAO instance = new DepartmentDAO();
- ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋๋ก ์์ฑ์์๊ฒ๋ pricate ๋ฅผ ๋ถ์ธ๋ค. private DepartmentDAO()
- *๊ฐ์ฒด ์์ฑ ์๊ตฌ ์ getter ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ 1๋ฒ์ ๊ฐ์ฒด๋ฅผ ๋ฐํ
- pulibc static DepartmentDAO getInstance(){ return instance; }
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ์ฌ ๋ฐ์ดํฐ ์ถ๊ฐ,์ญ์ ,์์ ์์ ์ ํ๋ ํด๋์ค
ํ ์ด๋ธ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ ์๋ฐ ๊ฐ์ฒด๋ก ๋ณํ or ๊ฐ์ ํ ์ด๋ธ์ ์ ์ฅ
ํ ์ด๋ธ ์ปฌ๋ผ๊ณผ ๋งคํ๋๋ ๊ฐ์ ๊ฐ๋ ์๋ฐ๋น ํด๋์ค๋ฅผ ์์ฑํด์ผํ๋ค. => DTO
- ์ฝ๋์ ๋ชจ๋ํ๋ฅผ ์ํด์ ๋ณ๋์ DAO ํด๋์ค๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํจ
- ํ ์ด๋ธ 1 = DAO ํด๋์ค 1
[DTO (Data Transfer Object) ํด๋์ค (+) VO (Value Object) ํด๋์ค]
DTO ํด๋์ค๋ฅผ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ๋ณ์๋ค์ ๋ชจ์ ์ญํ ์ ๋ง๋ ๋ค.
- DTO ๋๋ VO ํด๋์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๊ธฐ ์ํ ํด๋์ค๋ก ํ ์ด๋ธ ๋ณ๋ก 1๊ฐ์ฉ ์์ฑ
- ๊ด๋ จ ๋ณ์๋ฅผ ํ ์ด๋ธ๊ณผ ๋์ผํ ์ด๋ฆ์ผ๋ก ์ ์ธํ๊ณ , getter , setter ๋ฉ์๋๋ฅผ ๋ฐ๋์ ์์ฑํ๋ค.
- ์นด๋ฉ ํ๊ธฐ๋ฒ private int departmentId privvate Stirng departmentName
- ์์ฑ์, ๊ธฐ๋ณธ์์ฑ์ ๊ทธ๋ฆฌ๊ณ ๋ฉค๋ฒ๋ณ์ ์ด๊ธฐํ ํ๋ ์์ฑ์ 2๊ฐ ๋ง๋ ๋ค. *getter ,setter