본문 바로가기

프로그래밍 기초/SPRING

[SPRING] mybatis를 활용한 요청 응답 구조와 dao,service,controller의 역활

 mybatis를 활용한 요청 응답 구조

 

dao가 service기능까지 할 때 

service를 구분했을 때

DAO


dao,service,controller의 역활

signupform을 통하여 입력받은 dto정보를 post방식으로 전송받은 signup.do를 처리한다고 가정해서

아래의 예시를 진행하겠다.

 

 

Contorller :   컨트롤러는 어플리케이션이 제공하는 기능과 사용자 요청을 연결하는 매개체로서 기능제공을 위한 로직                    을 직접 수행하지는 않는다. 컨트롤러의 주요 역할은 다음과 같다.

                    1. 클라이언트가 요구한 기능을 실행

                    2. 응답 결과를 생성하는데 필요한 모델 생성

                    3. 응답결과를 생성할 뷰 선택 

 

	//POST방식 /users/signup.do 요청처리
	@RequestMapping(value = "/users/signup",method = RequestMethod.POST ) //get방식 요청은 받지 않게된다. 디비에 무언가를 저장하는 메소드는 메소드를 지정해놓는게좋다.
	public ModelAndView signup(@ModelAttribute("dto") UsersDto dto,ModelAndView mView) {	
		service.addUser(dto);
		mView.setViewName("users/insert");
		return mView;
	}

 

 

Service :  핵심이 되는 기능의 로직을 제공한다.

             DAO에서 데이터에 접근하여 받은 결과로 비지니스 로직을 수행하는 기능.

	@Override
	public void addUser(UsersDto dto) {
		//UsersDao 객체를 이용해서  DB에 저장하기
		dao.insert(dto);
	}

 

 

 

DAO : Database data access 의 약자로 데이터에 접근하고 update,select,delete 하는 기능.

	@Override
	public void insert(UsersDto dto) {
		session.insert("users.insert",dto); 
		
	}