인터페이스 부분과 인터페이스를 구현한 부분의 클래스 총 2가지
가 필요하다
// 인터페이스 부분
public interface EmpService {
List<Employee> selectAllEmp(); // 추상메소드
List<Employee> searchEmp(Map<String,Object> param); // 추상메소드
}
// 인터페이스를 구현한 서비스클래스
public class EmpServiceImpl implements EmpService { // EmpService 인터페이스안의 추상메소드 들을 구현해야함
private EmpDao dao=new EmpDaoImpl();
@Override
public List<Employee> selectAllEmp() {
SqlSession session = getSession();
List<Employee> list=dao.selectAllEmp(session);
session.close();
return list;
}
@Override
public List<Employee> searchEmp(Map<String, Object> param) {
SqlSession session = getSession();
List<Employee> list=dao.searchEmp(session,param);
session.close();
return list;
}
}
private EmpService service;
service=new EmpServiceImpl(); // 서비스 클래스 객체를 생성
// service 객체로 추상메소드 부분 로직 실행 가능
// 인터페이스
public interface EmpDao {
List<Employee> selectAllEmp(SqlSession session);
List<Employee> searchEmp(SqlSession session, Map<String,Object> param);
}
// 인터페이스를 구현한 DAO 클래스
public class EmpDaoImpl implements EmpDao {
@Override
public List<Employee> selectAllEmp(SqlSession session) {
return session.selectList("employee.selectAllEmp");
}
@Override
public List<Employee> searchEmp(SqlSession session, Map<String, Object> param) {
return session.selectList("employee.searchEmp",param);
}
}