menu

Service

  • date_range 03/01/2020 00:00 info
    sort 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(계층)의 역할

프로그램의 요구사항(비지니스 로직)을 담당하는 부분

20191120110231809

이 프로젝트에서 Service계층의 역할

  • 학과, 교수, 학생의 정보에 대한 입출력 DAO를 호출
  • 데이터를 입력, 수정, 삭제할 경우 각각의 데이터가 저장된 DAO를 호출하게 된다.
  • 학과 데이터는 교수 데이터나 학생 데이터에 의해서 참조가 이루어지고 있는 경우 삭제될 수 없기 때문에 교수와 학생 데이터의 삭제를 먼저 수행하고 학과에 대한 삭제가 이루어져야 한다.
  • Service Layer는 이러한 일련의 흐름을 구성하는 역할을 한다.

20191120175623206

데이터베이스 설계하기

  • 요구사항에서 명시하고 있는 기능을 구현하기 위한 데이터베이스 테이블들을 설계한다.
  • 이 과정에서 여러가지 제약조건들이 생성된다.
  • 아래의 테이블 구조에서
    • Student테이블은 department와 professor 테이블을 참조한다.
  • Professor 테이블은 department를 참조한다.

aa

  • student 테이블은 department와 professor테이블을 참조한다.
  • Professor 테이블은 department를 참조한다

  • department테이블의 데이터를 삭제하기 위해서는 department를 참조하고 있는 student테이블의 데이터와 professor테이블의 데이터가 먼저 삭제되어야 한다.
  • professor는 다시 student의 참조를 받기 때문에 student의 데이터가 먼저 삭제되어야 한다.

Department, Student, Professor 자바빈즈 생성

throws Exception가 정의된 메서드는 try~catch가 강제된다.