kkkyuhyun / Spring

0 stars 0 forks source link

이슈6. join 처리 -Mapper.xml #7

Open kkkyuhyun opened 1 month ago

kkkyuhyun commented 1 month ago

✔join 처리시 return 처리되는 type 변경 >resultType > resultMap

---> Map 이 연결될려면 resultMap으로 연결 VO 두개의 VO를 연결해주는 하나가 더 필요한 것이다.

---->resultMap * 개수 단일 테이블은 알아서 해준 것이라면, Join에 대한 Map 처리를 한 것으로 생각하면 된다.
kkkyuhyun commented 1 month ago

<Mapper Test 순서> Mapper: service와 db 사이에 위치해 있다.

  1. 데이터베이스 세팅 사용자와 데이터베이스와 테이블이 세팅이 되어 있어야 한다.
  2. 데이터 베이스 설정 접속 테스트 RootConfig.java + MyBatis 라이브러리에서 build.gradle +application.properties
  3. Mapper 테스트 진행 가능하다 - Mapper.java 다른 곳에서 호출할 추상 메소드를 선언한다 그리고 주의해야 할 것은 package 경로를 일치시킨다. SQL 구문과 resultMap 등을 정의한다. 메소드의 몸통 역할과 join 처리를 위한 mapping을 시킨다
  4. Mapper 단위 테스트를 진행한다. mapper 동작 테스트를 SQL 잘 적용되는지 pstmt 내부적으로 처리되는지 이상이 없는지 파라미터를 잘 처리하는 테스트를 시행한다 -> VO/DTO에 데이터를 잘 반환 받는지 List 또는 DTO/VO CUD 처리가 되어서 int 값 잘 반환하는지 확인한다 <Service Test 순서>
  5. mapper 동작 테스트 완료 상태에서 진행한다. 그렇게 하면 에러를 좁히기가 수월하다
  6. Service Interface + 구현 객체 생성한다
  7. Service 호출하려는 메소드를 선언한다
  8. ServiceImpl class 에서 3번의 추상 메소드의 body를 생성한다. (mapper를 활용) Service가 처리해야 하는 실행문들을 추가한다. 전처리와 후처리를 실행한다. 어떤 작업을 하는지에 따라서 구현해주면 된다. 실행문을 만들어준다. 코드가 한 줄이 아니라는 것이다. Service를 설정하는 등록 파일: RootConfig.java
  9. 서비스 단위 테스트 진행 SQL 구문에 맞게 파라미터를 세팅하여 처리한다. Insert, Update, Delete, Selectone... 등 <Controller Test 순서>서비스 동작이 잘 되었는지 확인한다
  10. Service 동작 테스트 완료에서 작업하는 것이 좋다
  11. Controller 생성(. java)
  12. Controller package 위치 정보 설정 파일에서 등록하기 @ComponentScan() 설정 파일:ServletConfig.java
  13. URL + Http method(@XXXXMapping("[url]"))에 따른 메소드 내에서 Service 등 호출 작업 return 처리한다.
  14. Controller 단위 테스트 실행 MockMvc + HttpMethod 등을 활용하여 브라우저 없이 동작을 진행한다.

화면 처리 후 브라우저에서 최종 테스트(feat.JSP)

  1. Controller까지 동작 확인 후 작업
  2. Controller return 경로 일치하는 jsp 파일을 생성(prefix suffix를 고려한다.)
  3. 화면 구성하기(JSTL EL CSS JS) 등을 활용한다
  4. 1개씩 동작해가면서 확인하면서 jsp 파일 확인 이때 주의할 점은 전체적인 흐름을 알면서 정확한 테스트 확인하기

REST API 처리 및 테스트 @RestController CRUD 작업

  1. Service 동작 테스트 완료에서 작업하는 것이 좋다
  2. Controller 생성한다
  3. Controller package 위치 정보 설정 파일에 등록하기 @ComponentScan()
  4. url+Http method 따른 메소드 선언 및 정의 4가지 이상 매핑 가능하다
  5. REST API 테스트 툴을 사용한다
  6. HTTP Method 선택하고 URL을 지정하고 옵션 파라미터 또는 Body 내용을 지정한다.