[Java] DAO, DTO, VO의 설명 및 예시
Devel/JAVA2024. 2. 2. 13:21
반응형
DTO (Data Transfer Object)
- DTO는 주로 데이터 전송을 위한 객체로 사용된다.
- 데이터베이스에서 가져온 데이터를 어플리케이션 내의 계층 간(Controller, View, Business Layer)에 전송하는 데 사용된다.
- DTO는 필요한 데이터를 포함하며, 주로 게터(Getter)와 세터(Setter) 메서드를 갖는다. (로직을 갖지지 않는 데이터 객체)
public class UserDTO {
private String username;
private String email;
// Getter, Setter 메서드
// 예시에서는 간단하게 생략
}
DAO (Data Access Object):
- DAO는 데이터베이스와의 상호 작용을 담당하는 객체이다.
- 데이터베이스 연산을 수행하고, 데이터를 검색하거나 조작하는 역할을 한다.
- 주로 CRUD(Create, Read, Update, Delete) 기능을 제공한다.
public class UserDao {
public UserDTO getUserById(int userId) {
// 데이터베이스에서 사용자 정보를 가져오는 로직
// 결과를 UserDTO 객체로 매핑하여 반환
}
public void createUser(UserDTO user) {
// 데이터베이스에 사용자를 생성하는 로직
}
// 다양한 데이터베이스 연산 메서드들...
}
VO (Value Object):
- VO는 불변(immutable)하며, 주로 도메인 모델에서 사용되는 객체이다. (Read-Only 속성을 가진 값 오브젝트), getter 기능만 가짐
- VO는 주로 데이터의 속성을 나타내는데 사용되며, 일반적으로 변경이 불가능한 객체이다.
public class AddressVO {
private String street;
private String city;
private String zipCode;
// Getter 메서드만 있고 Setter는 없음
// 예시에서는 간단하게 생략
}
or
@Getter
public enum AddressVO {
private final String street;
private final String city;
private final String zipCode;
private AddressVO(String street, String city, String zipCode) {
this.street = street;
this.city = city;
this.zipCode = zipCode;
}
}
DTO는 데이터 전송, DAO는 데이터베이스와의 상호 작용, VO는 불변의 데이터 구조를 표현하는 데 중점을 둡니다
'Devel > JAVA' 카테고리의 다른 글
[JAVA] Enum이란? 특징 및 예시코드 (1) | 2024.02.03 |
---|---|
[Spring Framework] MockMVC 사용 예제 & 정리 (0) | 2024.01.24 |
JAVA 17 설치하는 방법 (0) | 2023.11.15 |
JAVA 자바 for문을 이용한 실습예제(짝수만, 홀수짝수합,구구단,*쌓기) (0) | 2020.08.31 |
JAVA 자바 if문, swith문, break,continue 개념정리와 실습예제 (0) | 2020.08.31 |
댓글()