JDBC를 이용하여 DAO클래스로 분리하여 MVC모델로 구현하기 진행중
현재는 클라이언트에서 바로 DB서버쪽으로 접속하지만
실제 개발시에는 그런 경우는 거의없고 중간에 서버가 중계해주는 3티어 구조로 되어있다.
클라이언트 < - > 서버 < - > DB서버 (3티어)
DAO를 통해서 다양한 검색 메서드를 구현
--------------- 오전끝
커넥션 풀(Connection Pool)사용하기
티어3 구조
클라이언트 < - 클라이언트 요청 - > 서버 < - Connection 요청 -> DB서버
Connection Pool 이란 요청 시점에 Connection을 연결하는것이 아니라 미리 일정수의 Connection을 만들어놓고 필요한 애플리케이션에 전달하여 이용하도록 하는 풀링방법이다.
Connection pool 에는 기본수, 최대후, 필요시 자동으로 증가하는수 등을 관리할 수 있다.
디자인 패턴 - https://ko.wikipedia.org/wiki/%EB%94%94%EC%9E%90%EC%9D%B8_%ED%8C%A8%ED%84%B4
싱글톤 패턴 - 하나의 객체만 생성한후에 모든 클라이언트가 공유하도록 하는 디자인 패턴
- 싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어진다.
- 어디서든지 그 인스턴스에 접근할 수 있도록 한다.
- 클래스에서 자신의 단 하나 뿐인 인스턴스를 관리하도록 만들면 된다.
생성자의 접근제한자가 private이다 -> NEW를 못하게해준다.
그래서 클래스를 생성해주는 팩토리 메서드를 만든다.
ApacheDataSource를 사용시엔 미리 구현해놓은
BasicDataSource를 통해서 구현한다.
- DataBase 연동 애플리케이션 개발
DAO란? - 애플리케이션을 다루는 영속성 데이터(DB, FIle...)들을 저장하거나 조회, 조작 하는 기능을 전담하도록 만드는 객체를 말한다. 엔터프라이즈(서버) 애플리케이션의 경우 어떤 방법으로든 DBMS와 연결되서 동작한다. 애플리케이션에서 DB 연동 시 DAO 디자인 패턴을 적용하여 영속성 데이터 엑세스 로직을 담은 클래스를 캡슐화하여 작성하여야 한다.
DAO 디자인 패턴 - 영속성 처리를 위한 다양한 데이터 엑세스 기술(JDBC, JDO, JPA IBatis....)들을 인터페이스를 통해 외부에 노출되지 않도록 설계하는 디자인 패턴
영속성 데이터 엑세스 코드를 변경하더라도 DOA를 사용하는 객체 코드에 전혀 영향을 주지않으며, 일관됨 메소드 호출이 가능해야한다.
1단계 가장 간단한 DAO 클래스 구성
'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글
9월 2주차 1일(10주) (0) | 2015.09.07 |
---|---|
9월 2주차 5일 (9주) (0) | 2015.09.04 |
9월 1주차 3일 (9주) (0) | 2015.09.02 |
9월 1주차 2일 (9주) (0) | 2015.09.02 |
9월 1주차 1일 (9주) (0) | 2015.08.31 |