Backend/Java

DAO DTO VO 개념

olli2 2021. 11. 25. 23:17

DAO (Data Access Object)

 : 데이터베이스의 데이터에 접근하여 데이터를 저장하거나 데이터베이스로부터 데이터를 가져오기 위한 객체

 : 데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용

 : inesert, select, update, delete 기능을 수행하는 메소드 포함

 : DB 연결 (생성자)

 

 

DTO (Data Transfer Object)

 : 데이터 저장용 클래스

 : 계층 간 데이터 교환을 하기 위해 사용하는 객체

 : 로직을 가지지 않고, 순수한 데이터 객체인 getter와 setter만 가지는 클래스

 : 데이터베이스에 데이터를 저장하거나 데이터베이스로부터 데이터를 조회할 때 데이터를 담아서 전달하기 위해 사용

 

DTO와 DAO를 이용하여 데이터를 입력 및 조회하는 과정

입력 : 사용자가 데이터 입력 -> DTO에 넣어 전송 -> DTO를 받은 서버가 DAO를 이용해 입력 작업 수행 -> DB에 입력

조회 : 데이터 조회 -> DB - > DAO(select()로 데이터를 읽어옴) -> 출력 (또는 DTO에 담아서  출력 담당에게 전달)

 

VO (Value Object)

 : 값을 위해 사용되는 값 오브젝트

: DTO와 유사하지만, DTO와 다르게 setter를 가지고있지 않아 사용중에 값의 변경이 불가능하며 오직 읽기만 가능

 

DTO / DAO 구현 예제는 아래 링크 참조

https://olli2.tistory.com/35