백엔드 언어2017. 6. 19. 22:00

DAO 패턴은 표준 J2EE 디자인 패턴 중 하나로써 다음과 같은 요소들이 있다.

1. 자바빈즈 (DTO) - Department
2. DAO 인터페이스 - DepartmentDao
3. DAO 인터페이스를 구현하는 클래스 - DepartmentDaoImpl
4. 데이터 전송 객체

이 패턴을 사용하면 저 수준의 데이터 엑세스와 고급 비즈니스 로직을 분리할 수 있다.

DAO 패턴 작성 과정
1. 처리할 데이터가 저장되기 위한 데이터베이스 테이블의 구조를 JavaBeans 로 표현한다.
2. 데이터의 입력, 수정, 삭제, 조회 (다중조회) 의 기능을 명시한 Interface를 정의한다.
3. Interface를 상속받는 구현체를 작성하고 메서드들을 오버라이딩 한다.
4. 재정의 된 메서드의 기능을 구현한다.



상세 과정


1. 자바빈즈 만들기
-> 자바빈즈의 필드와 메소드 (getter, setter) 그리고 객체의 값을 표시하기 위한 toString() 메소드를 만든다.

2. 인터페이스 DAO 만들기
-> DAO가 구현해야 하는 기능을 정의한다.
-> Insert, update, delete, select, selectAll 등

3. DAO 인터페이스를 상속받아서 구현체를 만든다.
-> 데이터베이스 접속객체를 만들고 생성자를 통해서 데이터 베이스 접속객체를 전달받는다.
-> DAO에서 정의된 메소드들을 각 기능에 맞게 오버라이딩 한다.
-> 조회기능
--> (한개의 데이터) SELECT 문을 실행하고 결과값을 빈즈객체로 만들어 리턴한다.
--> (다수의 데이터) SELECT 문의 결과값을 반복문을 이용하여 전부 객체로 만든 후 컬렉션 프레임워크의 ArrayList에 담아 리턴한다.

4. DAO를 사용하는 프로그램을 만든다.
-> ex) Department model = new Department(1, '자원관리부', '3층'); // INSERT를 수행할 데이터 생성
-> ex) DepartmentDao dao = new DepartmentImpl(conn); // 다형성을 통하여 동작을 지정한다.
-> ex) int result = dao.insert(model); // 데이터를 저장한다.
-> ex) 데이터 저장 완료.

'백엔드 언어' 카테고리의 다른 글

홍쓰넷 JSP 무료 호스팅  (0) 2017.06.20
JSP DB연동 테스트  (0) 2017.06.20
다형성(Polymorphism)  (0) 2017.06.19
자바 웹 개발자의 학습 로드맵  (0) 2017.06.18
템플릿 언더바 기본 (Template Underscore)  (0) 2017.03.24
Posted by EL2A