데이터베이스에 데이터(VO, DTO)를 저장, 수정, 검색, 삭제 등 처리하기 위해 만들어지는 Model.
CRUD 동작을 가지고 있는 클래스, 비즈니스 로직을 처리하는 클래스.
CarDTO 객체를 이용해 자동차 정보를 데이터베이스에 삽입, 수정, 조회, 삭제하는 CRUD 작업을 수행하는 CarDAO 클래스를 보여준다.public class CarDAO {
// CREATE
public void carInsert(CarDTO car){
System.out.println("car 정보 저장 비즈니스 로직 수행");
}
// UPDATE
public void carUpdate(CarDTO car){
System.out.println("car 정보 수정 비즈니스 로직 수행");
}
// READ
public void carSelect(CarDTO car){
System.out.println("car 정보 조회 비즈니스 로직 수행");
}
// DELETE
public void carDelete(CarDTO car){
System.out.println("car 정보 삭제 비즈니스 로직 수행");
}
}
public class CarTest {
public static void main(String[] args){
CarDTO carDTO = createCarDTOInstance(); // CarDTO 객체 생성
CarDAO carDAO = new CarDAO(); // CarDAO 객체 생성
// CREATE: 데이터베이스에 자동차 정보 삽입
carDAO.carInsert(carDTO);
// UPDATE: 자동차 정보 수정
carDAO.carUpdate(carDTO);
// READ: 자동차 정보 조회
carDAO.carSelect(carDTO);
// DELETE: 자동차 정보 삭제
carDAO.carDelete(carDTO);
}
// CarDTO 객체를 생성하는 메서드 (예시)
private static CarDTO createCarDTOInstance() {
CarDTO carDTO = new CarDTO();
carDTO.setCarSn(12345);
carDTO.setCarName("현대 Sonata");
carDTO.setCarPrice(25000);
carDTO.setCarOwner("김철수");
carDTO.setCarYear(2023);
carDTO.setCarType("Sedan");
return carDTO;
}
}
DAO 클래스
DTO 클래스
CarDTO와 같은 데이터 전송 객체는 데이터를 주고받는 역할을 한다.CarDTO 클래스는 자동차의 정보(차량 번호, 이름, 가격 등)를 포함한 객체를 제공한다.비즈니스 로직
DAO 패턴은 비즈니스 로직과 데이터 접근 로직을 분리하여 코드의 유지보수성을 높이고, 데이터베이스 작업을 중앙 집중화할 수 있도록 돕는다.