Programming/스프링(spring) - Enterprise

10. 스프링(spring)/ VO클래스와 DAO클래스

esoog Polaris 2023. 7. 17. 23:43
반응형

스프링에서의 VO 클래스와 DAO 클래스는 데이터베이스와 관련된 작업을 수행하는 데 사용되는 클래스입니다. 각각의 역할과 기능을 살펴보면서 비교해보겠습니다.

 


VO 클래스 (Value Object):
- VO 클래스는 값 객체로서, 데이터를 담는 용도로 사용됩니다.
- 주로 데이터베이스의 레코드와 매핑되는 필드들을 가지고 있습니다.
- 일반적으로 데이터의 저장과 전달을 목적으로 하며, 데이터에 접근하기 위한 getter와 setter 메서드를 가지고 있습니다.
- 데이터베이스의 테이블과 1:1로 매핑되는 경우가 많습니다.
비즈니스 로직을 포함하지 않으며, 단순히 데이터를 저장하고 전달하는 역할을 수행합니다.
- 예를 들어, 사용자의 정보를 담는 UserVO 클래스는 사용자의 아이디, 이름, 이메일 등의 필드로 구성될 수 있습니다.

 


DAO 클래스 (Data Access Object):
- DAO 클래스는 데이터베이스와의 상호작용을 담당하는 클래스입니다.
- 주로 데이터베이스에 접근하여 CRUD(Create, Read, Update, Delete) 작업을 수행하는 메서드를 가지고 있습니다.
- 데이터베이스와의 연결, SQL 쿼리 실행, 데이터의 저장 및 검색 등의 역할을 수행합니다.
- VO 클래스와의 상호작용을 통해 데이터를 주고받습니다. 즉, VO 객체를 인자로 받아 데이터베이스에 저장하거나, 데이터베이스에서 읽어온 결과를 VO 객체에 매핑하여 반환합니다.
비즈니스 로직을 포함하지 않고, 데이터베이스와의 상호작용에 집중합니다.
- 예를 들어, 사용자 정보를 다루는 UserDAO 클래스는 사용자 정보를 데이터베이스에 저장하고, 필요에 따라 데이터베이스에서 사용자 정보를 조회하거나 업데이트할 수 있는 메서드를 가지고 있습니다.

요약하자면, VO 클래스는 데이터를 담는 객체로서 주로 데이터의 저장과 전달을 위해 사용되며, DAO 클래스는 데이터베이스와의 상호작용을 담당하여 CRUD 작업을 수행하는 객체입니다. VO 클래스는 데이터의 구조를 정의하고, DAO 클래스는 실제 데이터베이스 작업을 수행합니다. VO 클래스와 DAO 클래스는 스프링에서 데이터베이스와의 연동을 효율적으로 처리하기 위해 함께 사용됩니다.

728x90