๋ฐ˜์‘ํ˜•
kkh1902
Steadily
kkh1902
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (178) N
    • DataEngineering (20) N
      • Spark (7) N
      • Airflow (2) N
      • DBT (2) N
      • Architecture (3) N
      • Data Quality (5) N
      • Infra (1) N
    • ๐Ÿค– AI (12) N
      • ML (7)
      • DL (0)
      • LLM (5) N
    • ๐Ÿ“š Study (74)
      • DataEngineering (0)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • ๐Ÿ’ป Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • โš’๏ธ Etc (6)
      • Error (3)
      • Trouble_Shooting (2)
      • Dev_environment (1)
    • ๐Ÿ“ฐ News (24)
      • daily (7)
      • think (17)
    • ๐Ÿ“˜ Hobby (13)
      • English (13)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ“‹ ์ด๋ ฅ์„œ
  • โšก๏ธ ๊นƒํ—ˆ๋ธŒ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • React๋ฅผ ๋ฐฐ์›Œ์•ผํ•˜๋Š” ์ด์œ 
  • Flutter
  • git
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ #project๋งŒ๋“ค๋•Œ ์ค‘์š”
  • sourcetreee
  • Qr_payment project # CSS ํ•ด์„ # Basic ๋งจ์œ„ ํ•ด์„
  • React JS #์ž์Šต์„œ
  • SpringBootTest
  • think #bootstrap์„ ์จ์•ผํ•˜๋Š” ์ด์œ 
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ # chapter1
  • React JS # 2 The Basic of React
  • React # JSX
  • git stash
  • Linear Regression
  • React JS # ์ž์Šต์„œ # Component์™€ Props
  • Wonder # word
  • gitaction
  • junit5
  • testcode
  • db

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ธ€์“ฐ๊ธฐ / ๊ด€๋ฆฌ์ž
kkh1902

Steadily

DAO, DTO, VO ๋ž€?
๐Ÿ“š Study/Spring

DAO, DTO, VO ๋ž€?

2022. 7. 15. 16:59
728x90
๋ฐ˜์‘ํ˜•

spring์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด DTO, DAO, VO์— ๋Œ€ํ•œ ์šฉ์–ด์— ๋Œ€ํ•˜์—ฌ ๋งŽ์ด ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฐœ๋…์— ๋Œ€ํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

DAO(Data Access Object)

  • DAO(Data Access Object) ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ data์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. 
  • DataBase์— ์ ‘๊ทผ ํ•˜๊ธฐ ์œ„ํ•œ ๋กœ์ง & ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

- Database ์ ‘๊ทผ์„ ์œ„ํ•œ ๊ฐ์ฒด์ด๋‹ค.

- Data ์‚ฝ์ž…(INSERT), ์ˆ˜์ •(UPDATE), ์‚ญ์ œ(DELETE), ์กฐํšŒ(SELECT)๋ฅผ ์กฐ์ž‘/์ˆ˜ํ–‰ํ•œ๋‹ค.

- ๋ณดํ†ต DB์™€ ์—ฐ๊ฒฐํ•  Connection๊นŒ์ง€ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

DTO

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

 ์ผ๋ฐ˜์ ์œผ๋กœ DB(Database)์— ์ ‘๊ทผํ•œ ๋’ค ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜(SELECT) ์‚ฝ์ž…(INSERT)ํ•  ๊ฐ’๋“ค์„ ๋‹ด๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ ๋‹ค.

- ๋‹ด๊ธด ๊ฐ’๋“ค์€ ๊ณ„์ธต๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ์“ฐ์ด๋Š” ์ž๋ฐ”๋นˆ์ฆˆ(beans)์ด๋‹ค. (๊ณ„์ธต์˜ ์˜ˆ : Controller, Service, View ๋“ฑ...)

- ๋ณดํ†ต ๋ฉค๋ฒ„๋ณ€์ˆ˜๋Š” DB ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ๋“ค์ด๋ฉฐ, getter์™€ setter๋ฅผ ๊ฐ–๋Š”๋‹ค.

VO

  • VO(Value Object) ๊ฐ’ ์˜ค๋ธŒ์ ํŠธ๋กœ์จ ๊ฐ’์„ ์œ„ํ•ด ์“ฐ์ž…๋‹ˆ๋‹ค. read-Only ํŠน์ง•(์‚ฌ์šฉํ•˜๋Š” ๋„์ค‘์— ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ์˜ค์ง ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅ)์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • DTO์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ DTO๋Š” setter๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๊ฐ’์ด ๋ณ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š Study > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

junit4 ์™€ junit 5 ์˜ ์ฐจ์ด์ ๊ณผ ์žฅ๋‹จ์  ๊ทธ๋ฆฌ๊ณ  ๋ญ๋ฅผ ๋”๋งŽ์ด ์“ฐ์ด๋Š”์ง€?  (0) 2023.05.01
Thymeleaf Fragment (Fragment ๋‚˜๋ˆ„๊ธฐ)  (0) 2022.09.06
Spring์ด๋ž€?  (0) 2022.08.06
์Šคํ”„๋ง(Spring)์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Annotation ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ ์ •๋ฆฌ  (0) 2022.08.06
[Spring Boot] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์•Œ์•„๋ณด๊ธฐ  (0) 2022.07.15
    '๐Ÿ“š Study/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • Thymeleaf Fragment (Fragment ๋‚˜๋ˆ„๊ธฐ)
    • Spring์ด๋ž€?
    • ์Šคํ”„๋ง(Spring)์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Annotation ๊ฐœ๋… ๋ฐ ์˜ˆ์ œ ์ •๋ฆฌ
    • [Spring Boot] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์•Œ์•„๋ณด๊ธฐ
    kkh1902
    kkh1902
    1Day 1 Commit ๋ชฉํ‘œ ๊ณต๋ถ€ํ•œ๊ฒƒ๋“ค ๋งค์ผ ๊ธฐ๋กํ•˜๊ธฐ

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