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 구현 예제는 아래 링크 참조