๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT

DAO, DTO, VO, CRUD ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

by yunamom 2022. 3. 28.
๋ฐ˜์‘ํ˜•

1. DAO (Data Access Object) 

  • INSERT, DELETE, UPDATE, SELECT ๋“ฑ ๋ ˆ์ฝ”๋“œ ์ฒ˜๋ฆฌ๋ฅผ ์ฃผ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค.
  • DTO ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ์ €์žฅ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ SELECTํ•œ ํ›„, DTO ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝํ•ด ๊ฐ€์ ธ์˜ด
  • SQL์„ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง ์ฆ‰ DB์— ๋ฐ์ดํ„ฐ๋ฅผ CRUD ํ•˜๋Š” ์—ญํ• 

2. DTO (Data Transfer Object) ๋ฐ์ดํ„ฐ ์ „์†ก๊ฐ์ฒด

  • DTO๋Š” ๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ˆœ์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด (getter & setter ๋งŒ ๊ฐ€์ง„ ํด๋ž˜์Šค)
  • ์œ ์ €๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด form์— ๋‹ด์•„ ๋„˜์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ DTO์— ๋„ฃ์–ด์„œ DAO๋กœ ์ „์†กํ•œ๋‹ค.
  • DTO๋ฅผ ๋ฐ›์€ ์„œ๋ฒ„๊ฐ€ DAO๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ €์žฅ

3. VO (Value Object) 

  • VO๋Š” DTO์™€ ๋™์ผํ•œ ๊ฐœ๋…์ด์ง€๋งŒ read only ์†์„ฑ์ด๋‹ค.(DTO ๋Š” setter๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๊ฐ’์ด ๋ณ€ํ• ์ˆ˜์žˆ์Œ)
  • VO๋Š” ํŠน์ •ํ•œ ๋น„์ง€๋‹ˆ์Šค ๊ฐ’์„ ๋‹ด๋Š” ๊ฐ์ฒด์ด๊ณ , DTO๋Š” Layer ๊ฐ„์˜ ํ†ต์‹  ์šฉ๋„๋กœ ์˜ค๊ณ ๊ฐ€๋Š” ๊ฐ์ฒด๋ฅผ ๋งํ•œ๋‹ค.

 

4. CRUD

  • CREATE, READ, UPDATE, DELETE
  • CRUD๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๋ฌถ์–ด์„œ ์ผ์ปซ๋Š” ๋ง์ด๋‹ค.
  • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐ–์ถ”์–ด์•ผ ํ•  ๊ธฐ๋Šฅ( ์ •๋ณด์˜ ์ฐธ์กฐ/๊ฒ€์ƒ‰/๊ฐฑ์‹ ) ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์šฉ์–ด๋กœ์„œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.
์ด๋ฆ„ ์—ญํ•  SQL
CREATE ์ƒ์„ฑ INSERT
READ ( or Retrieve ) ์ฝ๊ธฐ ( or ์ธ์ถœ ) SELECT
UPDATE ๊ฐฑ์‹  UPDATE
DELETE ( or Destroy ) ์‚ญ์ œ ( or ํŒŒ๊ดด ) DELETE

 

300x250

์ฝ”๋“œ