[์Šคํ”„๋ง DB 2ํŽธ] - 0. DTO / DAO

2023. 4. 5. 22:51ยทSpring/Spring DB

 

 

 

 

 

DTO(data transfer object)

 

๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด(๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•œ ๊ฐ์ฒด)

 

DTO๋Š” ๊ธฐ๋Šฅ์€ ์—†๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ๋งŒ ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๋œปํ•œ๋‹ค.

 

 

 

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ปจํŠธ๋กค๋Ÿฌ ๊ณ„์ธต๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ณ„์ธต ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด DTO๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ปจํŠธ๋กค๋Ÿฌ์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ DTO์— ๋‹ด์•„ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ ,

 

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ณ„์ธต์—์„œ๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ DTO์— ๋‹ด์•„ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ DTO๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณ„์ธต ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์ด ๊ฐ„์†Œํ™”๋˜๋ฉฐ, ๊ฐ ๊ณ„์ธต์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ์„ ์ถ”์ถœํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

DAO(data Access object)

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ data์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ง์ ‘์ ์ธ ์ƒํ˜ธ์ž‘์šฉ์„ ๋‹ด๋‹น

 

 

DAO(Data Access Object)๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ถ”์ƒํ™”ํ•˜๊ณ  ์บก์Аํ™”ํ•œ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

 

DAO๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ CRUD(Create, Read, Update, Delete) ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ,

 

์ด๋ฅผ ํ†ตํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

์ปจํŠธ๋กค๋Ÿฌ์—์„œ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ DAO์— ์š”์ฒญํ•˜๊ณ ,

 

DAO๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์กฐํšŒํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ DAO๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์‰ฝ๊ฒŒ ์ถ”์ƒํ™”๋˜๋ฉฐ, ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ณ„์ธต ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ถ„๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Spring > Spring DB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์Šคํ”„๋ง DB 2ํŽธ] - 2. JdbcTemplate - ๋™์  ์ฟผ๋ฆฌ ๋ฌธ์ œ  (0) 2023.04.07
[์Šคํ”„๋ง DB 2ํŽธ] - 1. JdbcTemplate  (0) 2023.04.06
[์Šคํ”„๋ง DB 1ํŽธ] - 15. ์Šคํ”„๋ง ์˜ˆ์™ธ ์ถ”์ƒํ™” ์ดํ•ด  (0) 2023.03.31
[์Šคํ”„๋ง DB 1ํŽธ] - 14. ์Šคํ”„๋ง ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (0) 2023.03.30
[์Šคํ”„๋ง DB 1ํŽธ] - 13. ์ฒดํฌ ์˜ˆ์™ธ์™€ ์–ธ์ฒดํฌ(๋Ÿฐํƒ€์ž„) ์˜ˆ์™ธ ํ™œ์šฉ  (0) 2023.03.29
'Spring/Spring DB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์Šคํ”„๋ง DB 2ํŽธ] - 2. JdbcTemplate - ๋™์  ์ฟผ๋ฆฌ ๋ฌธ์ œ
  • [์Šคํ”„๋ง DB 2ํŽธ] - 1. JdbcTemplate
  • [์Šคํ”„๋ง DB 1ํŽธ] - 15. ์Šคํ”„๋ง ์˜ˆ์™ธ ์ถ”์ƒํ™” ์ดํ•ด
  • [์Šคํ”„๋ง DB 1ํŽธ] - 14. ์Šคํ”„๋ง ์˜ˆ์™ธ ์ฒ˜๋ฆฌ
hello_u
hello_u
  • hello_u
    ๐Ÿ˜œ
    hello_u
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿ˜œ (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring ์ž…๋ฌธ (20)
        • Spring ๊ธฐ๋ณธ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA ๊ธฐ๋ณธ (16)
        • Spring JPA ํ™œ์šฉ (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp ๊ธฐ์ดˆ (44)
        • ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (64)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • ์ปดํ“จํ„ฐ์ผ๋ฐ˜ (3)
        • ์šด์˜์ฒด์ œ (3)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
        • ์ •๋ณดํ†ต์‹  (1)
        • ์ž๋ฃŒ๊ตฌ์กฐ (1)
        • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ (1)
        • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (0)
        • ์ตœ์‹  ๋””์ง€ํ„ธ, ์ผ๋ฐ˜์ƒ์‹ (0)
      • ์ž๊ฒฉ์ฆ (41)
        • ์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ (9)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (22)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰ (3)
        • SQLD (7)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
hello_u
[์Šคํ”„๋ง DB 2ํŽธ] - 0. DTO / DAO
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”