MapleStory Finger Point

๐ŸŸค JAVA/๐ŸŸค JSP

[JSP] MVC 1 ๊ตฌ์กฐ

HYEJU01 2024. 6. 28. 00:03

[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