Spring - DAO, DTO, VO 개념 정리

hyejin.dev·2022년 10월 18일
0

spring

목록 보기
1/1

DAO

  • DAO (Data Access Object) 는 데이터베이스의 data에 접근하기 위한 객체
  • Service와 DB를 연결하는 고리의 역할
  • SQL를 사용해 DB에 접근한 후 적절한 CRUD API를 제공
  • DataBase에 접근 하기 위한 로직 & 비지니스 로직을 분리하기 위해 사용

DTO

  • DTO (Data Transfer Object)
  • 계층 간 데이터 교환을 하기 위해 단순 통신 용도로 오고가는 Data 전달 객체 (Java Beans)
  • 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)
  • 조금 더 포괄적으로 제한없이 사용할 수 있는 객체
  • DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체
  • 유저가 입력한 데이터를 DB에 넣는 과정
    1. 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송
    2. 해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어넣음

VO

  • VO(Value Object)
  • 조금 더 특정한 Business Logic의 결과 값을 담는 객체
  • equals, hashCode Method를 구현하여 특정 중요한 Data를 전달할 때 사용
  • read-Only 특징 (사용하는 도중에 변경 불가능하며 오직 읽기만 가능)을 가짐
  • DTO와 유사하지만 DTO는 setter를 가지고 있어 값이 변할 수 있음
profile
hello :)

0개의 댓글