본문 바로가기
Java

DAO & DTO & VO

by 달보드레. 2020. 5. 19.

DTO (Data Transfer Object) 

- 계층간 데이터 교환을 위한 객체
- DB에서 데이터를 얻어 service나 Controller 등으로 보낼 때 사용하는 객체
- 즉, DB에서 데이터가 Presentation Logic Tier로 넘어오게 될 때는 DTO의 모습으로 바껴서 오고가는 것

ㄴ # Presentation Logic Tier
- 프레젠테이션 계층은 응용 프로그램의 최상위에 위치하고 있는데 
      이는 서로 다른 층에 있는 데이터 등과 커뮤니케이션을 한다.
- 사용자 인터페이스를 지원한다. 
   (인터넷 브라우저의 정적인 데이터를 제공한다.)    
- 이 계층은 GUI, 또는front-end도 불린다.
- 비즈니스로직이나 데이터관리코드를 포함해서는 안된다.
- 주로 웹서버를 뜻한다(물리적 : WEB서버)
     ex) HTML, javascript, CSS, image

- 로직을 갖고 있지 않은 순수한 데이터 객체이며, getter/setter 메서드만 갖는다

VO (Value Object)
- VO는 DTO와 동일한 개념이지만 read only 속성을 갖는다.
- VO는 특정한 비즈니스 값을 담는 객체이고, 
  DTO는 Layer간의 통신 용도로 오고가는 객체를 말한다

DAO (Data Access Object)
- 데이터베이스의 data에 접근하기 위한 객체이다.
- 데이터베이스 접근을 위해 로직과 비즈니스로직을 분리해서 사용한다.
- DAO의 경우 DB와 연결할 Connection까지 설정되어 있는 경우가 많다.
- CRUD 작업 ( C: Create / R: Read / U: Update / D: Delete )
- 많이들 쓰는 Mybatis 등을 사용할 경우 Connection Pool이 제공되기 때문에 DAO를 별도로 만드는 경우는 드뭄

'Java' 카테고리의 다른 글

Java - Split  (0) 2020.06.03
JDBC - 1  (0) 2020.05.18
Java Collection Framework - HashMap  (0) 2020.05.18
Java - Java Collection Framework  (0) 2020.05.18
Java - 객체지향 - 추상화 , 추상클래스 ,추상 메서드  (0) 2020.05.18