매번 VO가 생성될 때 마다 DAO를 새로 만들어줘야 하는 것은 번거로운 작업임. 이를 위해 쓰는 것이 Generic임.
Generic은 클래스나 인터페이스, 메서드를 정의할 때 타입(type)도 파라미터로 쓰게 해줌.
1. 먼저 GenericDAO를 만듦:
package org.soju.foodstore.dao;
public interface GenericDAO<E, K> {
public void create(E vo) throws Exception;
public StoreVO read(K no) throws Exception;
public void update(E vo) throws Exception;
public void delete(K no) throws Exception;
}
//read 메서드에서 StoreVO를 반환하는데, 이 부분을 개선할 여지가 있음.
2. 그 뒤 MenuDAO 인터페이스가 GenericDAO 인터페이스를 상속받음. 상속받을 때 VO의 타입과 primary key의 타입을 지정해줌:
package org.soju.foodstore.dao;
import org.soju.vo.MenuVO;
public interface MenuDAO extends GenericDAO<MenuVO, Integer> {
}
3. 이어 MenuDAO를 상속한 MenuDAOImpl이 필요한 메서드를 오버라이드함.
'코딩 > Oracle' 카테고리의 다른 글
수업 SQL Query 예제 (데이터 포함) (0) | 2014.09.19 |
---|---|
JDBC설계 Step2 - (2) MenuVo 추가 (0) | 2014.09.18 |
JDBC설계 Step2 - (1) VOMaker 만들기 (0) | 2014.09.18 |
JDBC설계 Step1 - (4) org.soju.foodstore.test, java.sql.date와 Calendar 예제 (0) | 2014.09.18 |
JDBC설계 Step1 - (3) org.soju.foodstore.dao, Java enum 예제 (0) | 2014.09.17 |