Categories
자바

JSP 데이터 접근객체

JSP에서 데이터 관계

데이터베이스에 관련된 작업을 전문적으로 담당하는 객체다. DAO 안의 메서드는 모두 데이터 베이스와 관련된 작업을 한다. 아래와 같이 CRUD를 실행하는 메서드는 JDBC등 을 이용하여 데이터베이스에 접근해서 쿼리를 실행한다. 다른 개발자도 해당 메서드를 호출하면 해당 쿼리를 실행하여 결과를 얻을 수 있다. public CustUserDto getCustUser(String id)경우 해당 id에 해당하는 결과를 얻는 쿼리 실행. public int addCustUser(CustUserDto uDto)경우 insert 쿼리 실행. public int updateCustUser(CustUserDto uDto)경우 update 쿼리 실행. public int deleteCustUser(String id)경우 delete 쿼리 실행. DTO(데이터 전송 객체) 데이터베이스의 테이블(엔티티)에 해당하는 객체로 테이블의 컬럼들을 일대일로 저장할 수 있는 멤버필드가 있고 get/set 메서드를 갖는다. 테이블의 컬럼들을 안전하게 옮길 수 있도록 만들어진 필통(DTO)라고 생각하자. DTO는 로직이 없으며 일반적으로 하나의 DTO가 하나의 행에 해당되고, 대부분 DAO와 같이 사용된다. DAO의 메서드는 DTO를 반환하거나 DTO를 대입한다. 비즈니스 레이어에서 반환하는 Business 객체를 DTO로 보면 된다. 소스에서 CustUserDto가 DTO다. getCustUser( ) 메서드를 호출하면 테이블에서 해당 행에 해당하는 데이터를 DTO에 담아서 반환한다. public CustUserDto getCustUser(String id)는 해당 id에 해당하는 결과를 얻는 쿼리 실행. public int addCustUser(CustUserDto uDto)는 insert 쿼리 실행. public int updateCustUser(CustUserDto uDto)는 update 쿼리 실행. MVC 패턴은 요청을 처리하는 과정에서 발생하는 처리순서, 데이터 전송, 관리 작업과 데이터 출력에 대한 웹애플리케이션 작업을 간단하게 도식화한다. 요청을 받은 컨트롤러는 요청을 분석한다. 요청에 해당하는 모델을 이용하여 비즈니스 로직 (데이터 베이스에 관련된 작업)을 실행하고 비즈니스 객체를 얻는다. 해당 뷰로 제어권을 넘긴다. 뷰는 받은 비즈니스 객체를 동적으로 처리하고 HTML로 화면을 만들어 웹 브라우저에 응답한다. MVC 패턴을 웹어플리케션에서 구현한 MVC Model 2의 처리과정이다. 과정은 다음과 같다. 1. 컨트롤에 요청을 한다. 2. 컨트롤은 요청을 분석하고 해결할 모델을 찾아서 실행한다. 3. 모델은 쿼리를 실행하고 결과를 얻는다. 4, 5. 해당화면으로 이동하여 모델에서 얻은 데이터를 동적으로 처리한다. 6. 브라우저로 요청했던 화면을 보내 응답한다.