Service
-
date_range 03/01/2020 00:00 infosort label
layout: post title: “Service” date: 2020-01-03 09:15:00 +0800 categories: Java MyBatis Service DataBase tags: study 코딩 자바 Java
Service Layer
Service Layer(계층)의 역할
프로그램의 요구사항(비지니스 로직)을 담당하는 부분
이 프로젝트에서 Service계층의 역할
- 학과, 교수, 학생의 정보에 대한 입출력 DAO를 호출
- 데이터를 입력, 수정, 삭제할 경우 각각의 데이터가 저장된 DAO를 호출하게 된다.
- 학과 데이터는 교수 데이터나 학생 데이터에 의해서 참조가 이루어지고 있는 경우 삭제될 수 없기 때문에 교수와 학생 데이터의 삭제를 먼저 수행하고 학과에 대한 삭제가 이루어져야 한다.
- Service Layer는 이러한 일련의 흐름을 구성하는 역할을 한다.
데이터베이스 설계하기
- 요구사항에서 명시하고 있는 기능을 구현하기 위한 데이터베이스 테이블들을 설계한다.
- 이 과정에서 여러가지 제약조건들이 생성된다.
- 아래의 테이블 구조에서
- Student테이블은 department와 professor 테이블을 참조한다.
- Professor 테이블은 department를 참조한다.
- student 테이블은 department와 professor테이블을 참조한다.
Professor 테이블은 department를 참조한다
- department테이블의 데이터를 삭제하기 위해서는 department를 참조하고 있는 student테이블의 데이터와 professor테이블의 데이터가 먼저 삭제되어야 한다.
- professor는 다시 student의 참조를 받기 때문에 student의 데이터가 먼저 삭제되어야 한다.
Department, Student, Professor 자바빈즈 생성
throws Exception가 정의된 메서드는 try~catch가 강제된다.