MVC 패턴을 기반으로 DTO를 곁들여 코드 작성
[DAO]
DAO?
- 스프링 내에서 Repository라고 부르는 것을 스프링을 사용하지 않은 곳에선 DAO라고 부른다.
- Data Access Object로 DB에서 데이터에 접근해서 가져오는 등의 작업을 진행하는 곳이라고 생각하면 된다.
[Controller]
DAO에서 받아온 객체가 null인 경우에도 우린 성공으로 처리한다.
- 예외 상황이 발생하지 않은 경우에 해당 객체를 찾지 못해 null 값을 DAO에서 Controller에게 반환하더라도 이 경우엔 제대로된 요청 처리이기 때문에 Success View를 사용해서 이를 처리할 수 있게 해야한다.
- 예외가 터진 경우라면 해당 경우는 개발자가 따로 예외 처리를 해서 사용자에게 이를 고지할 수 있게 해야한다.
- 앞서 살펴본 포스팅에서 JDBC에서 Connection을 받아와서 데이터베이스와 연결해서 접속한 뒤 sql 작성을 위한 객체 Statement 생성 후 이를 이용해서 쿼리를 쏴서 ResultSet(select인 경우만 반환) 등의 값을 가지고 결과값을 이용해 데이터를 출력하거나 하는 등의 작업을 진행했다.
Contoller를 Singleton으로 만들어 사용하자
public class Controller {
private EmpDeptDAO empDeptDAO = new EmpDeptDAO();
private static Controller instance = new Controller();
private Controller() {
}
public static Controller getInstance() {
return instance;
}
}
- 해당 작업을 통해서 Controller를 싱글톤 객체로 만들어 다른 클래스에서 해당 객체를 생성할 수 없게 막아두었다.
[View]
- 향후 html을 사용해 클라이언트의 요청을 받는 부분이 될 예정이다.
[Model]
1. domain
- DAO를 통해서 받아온 데이터를 객체로 받아올 때 사용한다.
- DAO를 통해 받아온 데이터를 DTO라고 한다. (Data Transfer Object)
[DTO]
1. DTO?
- DTO 객체를 사용해서 데이터베이스에서 받아온 데이터를 객체화 시켜 사용한다.