-
Controller
- 사용자가 보낸 요청을 가장 먼저 받는 곳
- 주로 어떤 URL 로 어떤 작업을 할지 결정
- 여기서는 프론트에서 /api 로 들어온 (Get, Post 등) 요청을 받고, 요청 내용을 꺼낸 후 Service에게 일을 시킵니다
-
Service
- 실제 비즈니스 로직이나 데이터 처리를 담당
- Controller가 준 데이터를 어떻게 DB에 저장할지, 어떤 엔티티(객체)를 만들어서 Mapper에 넘길지 결정함
- 여기서는 프론트에서 넘어온 내용을 Entity에 담아서 Mapper에 넘김
-
Mapper
- DB와 직접 대화하는 부분
- 어떤 쿼리를 실행할지 정의한 Mapper.xml과 연결
- Service가 넘긴 Entity의 데이터를 바탕으로 DB에 쿼리 작업을 실행
-
Entity
- 데이터를 담아두는 그릇
- 예) content라는 필드에 사용자 입력을 넣어두고, Mapper가 이 값을 SQL에 사용
-
Mapper.xml
- MyBatis에서 실제 SQL 쿼리문을 작성하는 곳
프론트에서 POST /map 요청, { content: "..." } 데이터를 보냄.
Controller (MainController)가 요청을 받아, content를 꺼내 Service에 전달.
Service (MapService)에서 MapEntity에 content를 담고, Mapper를 호출.
Mapper (MapMapper + MapMapper.xml)가 준비해 둔 SQL로 DB에 INSERT.
Controller는 “공유완료” 같은 응답을 돌려주고, 프론트는 이 메시지를 받음.