DTO, VO / DAO

강태석·2022년 10월 16일
0

JSP

목록 보기
7/13

DTO, VO / DAO

오늘은 jsp에서 db와의 접근과 전송에 관련된 Object(객체)에 대해서 공부했다.
그럼 DTO , VO / DAO 가 뭔지 알아보도록 하자! 😎

DTO , VO

DTO : Data Transfer Object
VO : Value Object
  • 양쪽으로 전송되어 오고가는 데이터들을 담은 객체, jsp에서는 Bean이라고 부른다.

    여러 데이터들을 포장해서 만든 데이터 포장 객체

  • 사용자가 입력한 값을 객체 형태로 받을 수 있게 클래스 구성

  • 폼에서 입력된 데이터들은 하나의 DTO객체로 변환 가능

  • 하나의 데이터베이스 레코드를 저장하여 레코드와 같은 구조를 가진다.

  • 레코드가 50개면 DTO객체도 50개

  • 데이터가 포함된 객체를 한 시스템에서 다른 시스템으로 전달하는 작업을 처리하는 객체

DTO와 VO는 비슷하지만 같다고 할 순 없다. DTO는 이름 뜻 그대로 데이터를 전달하기 위한 객체이며 VO는 말그대로 값 객체이다.
DTO는 가변, 불변객체 모두 사용할 수 있으며 getter와 setter 메소드를 갖는다.
반면 VO는 불변객체이며 getter메소드만 갖는다.

DAO

DAO : Data Access Object
  • 데이터에 접근, 데이터를 관리하기 위한 객체.

  • 데이터들을 관리(추가,수정,삭제,읽기)하는 여러 메소드들이 정의되어 있다.

  • insert, delete, update, select 등 레코드 처리를 주 목적으로 한다.

  • DTO/VO 객체를 데이터베이스 서버에 저장

  • 데이터베이스 서버로부터 레코드를 select한 후, DTO객체로 변경해 가져온다.

  • SQL을 직접 실행하는 기능을 가진다.

  • 데이터 접근 목적으로 하는 객체

  • DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트


내가 이해한 웹 동작 flow

  1. 클라이언트에서의 요청

  2. Servlet에서의 요청 처리 (Paramter를 받는 등)

  3. DTO에 받은 데이터 저장 (set)

  4. 각 요청에 따른 준비된 서비스 클래스 호출 (요청 처리, 결과 저장)

  5. DAO에서 db접근 (jdbc 연결) , 쿼리문 실행

  6. select문(요청이 데이터 조회)일 경우 db에서 조회한 데이터를 resultSet으로 받아 DTO에 저장 (set)
    update(삽입, 수정 , 삭제 등)일 경우 요청에 따라 db수정 후 DTO에 저장 (set)

  7. Servlet에서의 응답 처리 (jsp에서 유저의 요청에 따른 응답)

-- 내가 이해한대로 적어봤다. 앞으로 수정될 수 있음 --

0개의 댓글