• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

선생님 68강 관련해서 질문 있어요~! 부탁드리겠습니다~

23.03.17 19:38 작성 23.03.18 00:57 수정 조회수 413

0

선생님께서 알려주신대로 하였고(resultMap) 문제없이 잘 작동하였습니다!~ 오류가 생겨서 질문드리는게 아니오라...

관련된 개념이 궁금해서 질문드려요~!

컨트롤러에서 Member mvo = memberMapper.getMember(m.getMemID());

이렇게 가져올 때 상황이에요~


▲위 테이블은 mem_stbl 테이블이고,
▲그 아래 테이블은 mem_auth 테이블이에요~

▲여기서 이렇게 resultType="kr.board.entity.Member"으로
가져올 수 없는 이유를 잘 모르겠어요
sql 테이블이 매퍼.xml 파일에서
select * from mem_stbl mem LEFT OUTER JOIN mem_auth auth on mem.memID=auth.memID where mem.memID= '질문';
이렇게 합쳐지고 그 결과 테이블이
이것 인데요~

<▼두서가 길었는데요! 질문의 핵심입니다!▼>
Member 클래스의 멤버 변수에 넣지 못하는 이유가
결과 집합의 행이 2개여서 그런 건가요?
그래서 reseltMap을 써주는 것인가요??

만약 그렇다면 1행으로 만들어준다면(회원 가입 시 체크박스 1개를 선택한다면) resultMap을 사용하지 않고 resultType="kr.board.entity.Member"
로 해줘도 괜찮은 건가요?
부탁드리겠습니다!

아예 잘못 알고 있는 걸까요? ㅠ

------------------


선생님 강의 최고입니다! 애청자에요 하하하ㅎㅎ

답변 1

답변을 작성해보세요.

0

음 질문하신 부분에서 parameterType은 #{ } 이부분을 설정할때 사용하는 거구요 데이터를 가져올때는 resultType이나 resultMap을 사용합니다. 혹시 resultType이나 resultMap을 질문하신 건지요?

네 resultType이에요 잘못 적었습니다 ㅠ 수정했습니다!

선생님 계속 찾아봤는데요~
join 했을 때 memberId 컬럼이 두 개여서 중복되므로 resultType =kr.board.entity.Member 으로 못받는 거 같아요!
혹시 옳은 정답을 찾은걸까요???

혹시 매퍼.xml을 resultMap으로 하는 것이 아니라 Member와 authVO의 클래스를 수정하는 것으로 받는 방법은 없을까요?

+++

회원 가입시에 컨트롤러에서 "" 값 잡아줄 때 권한은 size() == "" 가 아닌 null으로 하였습니다~~
체크박스 미선택 시 null을 반환한다고 하더라구요~~!
image