[Java] DTO / DAO

이지현·2023년 2월 7일
0

Java

목록 보기
23/46
post-thumbnail

✔️ DTO(Data Transfer Object)

  • JavaBean(간단하게 여러 데이터를 하나로 묶고 이를 getter와 setter로 조작하는 클래스)
  • DTO가 테이블의 모든 컬럼을 포함할 필요 X
  • 일반적으로(OMR 프레임워크에서) 테이블의 모든 컬럼과 매핑되는 객체를 Entity, 컬럼 중 다른 계층으로 전달이 필요한 데이터만 묶은 클래스를 DTO라 함

✔️ DAO(Data Access Object)

  • DB 연결 및 작업 후 연결 해제 담당 -> 데이터베이스에 연결하여 수행한 결과를 받아오는 객체
  • 쿼리 결과는 DTO에 넣음(개발자가 setter나 생성자로 넣어줌)
  • DAO는 데이터베이스 연결 및 DB 연동과 관련된 동작인 SELECT, INSERT, UPDATE, DELETE 함수를 제공하도록 작성
  • 함수 작성 시 오버로딩(Overloading)을 이용하여 코드를 간결하게 작성할 필요가 있음 ex) selectAll, selectByID ...

DAO에 정의된 함수도 구현 방식 다양

  • 자주 사용되는 코드를 따로 함수로 작성: connection, close ...
  • 자주 사용되는 객체를 메서드가 공유: connection, statement, preparedStatement, resultSet

싱글톤 패턴으로 설계(안티패턴이므로 Optional)

💡 싱글톤 패턴이란?

  • 정의 : 어플리케이션 내에서 하나의 인스턴스만 존재하도록 강제하는 패턴, 하나만 만들어지는 클래스의 오브젝트는 어플리케이션 내에서  전역적으로 접근 가능
  • 방법 : 클래스 밖에서는 오브젝트를 생성하지 못하도록 기본 생성자를 private로 지정 -> 싱글톤 객체를 저장할 수 있는 자신과 같은 타입의 static 필드 정의 -> getInstance() 메소드를 통해 이미 만들어져 있는 static 필드에 저장해둔 오브젝트 반환
profile
2023.09 ~ 티스토리 이전 / 2024.04 ~ 깃허브 블로그 이전

0개의 댓글