0%

Java DAO & DTO

DAO(Data Access Object)

  • 실제로 DB에 접근 하는 객체
    • Persistance Layer(DB에 data를 CRUD하는 계층) 이다.
  • Service와 DB를 연결하는 고리의 역할을 한다.
  • SQL를 사용(개발자가 직접 코딩)하여 DB에 접근한 후 적절한 CRUD API를 제공한다.

DTO(Data Transfer Object)

  • 계층간 데이터 교환을 위한 객체(Java Beans)이다.
    • DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체를 말한다.
    • DB의 데이터가 Presentiation Logic Tier로 넘어오게 될 때 DTO의 구조로 바뀌게 된다.
    • Logic을 갖지 않는 순수한 데이터 객체, getter/setter method만을 갖는다.
    • DB에서 꺼낸 값을 변경할 필요가 없기 때문에 DTO class에는 setter가 없다.