TODAY 3
DAO,DTO,DB Table 관계

DAO 정의
Data Access Object의 약자로 간단히 Database의 data에 접근을 위한 객체입니다.
Database에 접근을 하기위한 로직과 비즈니스 로직을 분리하기 위해서 사용을 합니다
DB에 대한 접근을 DAO가 담당하도록 하여 데이터베이스 엑세스를 DAO에서만 하게 되면 다수의 원격호출을 통한 오버헤드를 VO나 DTO를 통해 줄일 수 있고 다수의 DB 호출문제를 해결할 수 있습니다.
또한 단순히 읽기만 하는 연산이므로 트랜잭션 간의 오버헤드를 감소할 수 있습니다.

DTO(=VO) 정의
DTO(Data Transfer Object)는 VO(Value Object)로 바꿔 말할 수 있는데 계층간 데이터 교환을 위한 자바빈즈를 말합니다.
여기서 말하는 계층간의 Controller, View, Business Layer, Persistent Layer를 말하며 각 계층간 데이터 교환을 위한 객체를 DTO 또는 VO라고 부릅니다.
VO는 DTO와 동일한 개념이지만 read only 속성을 가집니다.
일반적인 DTO는 로직을 갖고 있지 않는 순수한 데이터 객체이며 속성과 그 속성에 접근하기 위한 getter, setter 메소드만 가진 클래스를 말합니다

결론

DAO 에서 DTO(=VO) 를 사용하여 데이터베이스에 접근하며, DAO 는 테이블마다 1개씩 만들것.

Common_DAO 등을 만들어서 공통기능은 하나로 만들것.