•데이터베이스 연결 관리:데이터베이스 연결을 관리하고,필요에 따라 연결을 생성하거나 해제합니다.
•SQL쿼리 생성:동적인SQL쿼리를 생성하여 유연하게 데이터를 처리합니다.
•예외 처리:데이터베이스 오류 발생 시 적절한 예외를 발생시켜 오류 처리를 쉽게 합니다
DTO (Data Transfer Object)
•정의: 계층 간 데이터를 전달하기 위한 순수한 데이터 객체입니다.
•역할:
•데이터 전송: 데이터베이스, 서비스 계층, 표현 계층 간 데이터를 효율적으로 전달합니다.
•데이터 변환: 필요한 데이터만 추출하여 전달하거나, 계산된 값을 추가하여 활용합니다.
•데이터 보호: 민감한 정보를 노출하지 않고 필요한 데이터만 전달합니다.
•특징:
•일반적으로 getter와 setter 메소드만 가지고 있습니다.
•상태를 유지하는 객체가 아닌, 단순히 데이터를 담는 용도로 사용됩니다.
•비즈니스 로직을 포함하지 않습니다.
DTO가 중간 저장소라고 볼 수 있는 이유:
•데이터베이스에서 가져온 데이터를 임시로 저장하여 다른 계층으로 전달합니다.
•서비스 계층에서 처리된 결과를 표현 계층으로 전달하기 위한 중간 매개체 역할을 합니다.
하지만 DTO는 단순한 저장소를 넘어 다음과 같은 역할도 수행합니다.
•데이터 변환: 데이터베이스의 테이블 구조와 UI에서 필요한 데이터 구조가 다를 수 있으므로, DTO를 통해 필요한 데이터만 추출하고 형식을 변환할 수 있습니다.
•데이터 보안: 민감한 정보는 데이터베이스에서 직접 가져오지 않고, 필요한 부분만 DTO에 담아 전달하여 보안을 강화할 수 있습니다.
결론
DTO와 DAO는 서로 협력하여 데이터를 효율적으로 관리합니다. DAO가 데이터베이스에서 데이터를 가져오면, DTO는 그 데이터를 받아서 다른 계층으로 전달하는 역할을 합니다. 이를 통해 데이터베이스와 비즈니스 로직을 분리하고, 시스템의 유연성과 확장성을 높일 수 있습니다.