본문으로 바로가기

무브투헤븐

  1. Home
  2. 제품리뷰
  3. Mapped Statements collection does not contain value for 해결 방법

Mapped Statements collection does not contain value for 해결 방법

· 댓글개 · 무브투헤븐
반응형

자바 스프링 전자정부 프레임워크를 이용하여 개발을 하시는 분이라면 한 번은 마주하게 될 문제 Mapped Statements collection does not contain value for 해결 방안에 대해서 아래에서 알아보도록 하겠습니다.

 

Mapped Statements collection does not contain value for 에러 원인

 

가장 먼저 에러가 뜨는 원인부터 알아보도록 하겠습니다.
Mapped Statements collection does not contain value for 에러의 원인은 다음과 같습니다.

  1. mapper id가 다를 경우
    1.  쿼리를 작성해둔 xml 파일의 id와 서비스단에서 호출하는 id가 다를 경우에 발생할 수 있습니다.
      이 경우가 가장 흔합니다.
  2. mapper에 정의된 namespace가 중복일 경우
    1. xml 파일 가장 상단에 작성하는 <mapper namespace> 란에 똑같은 이름이 적힌 파일이 2개가 존재할 경우 발생합니다.
  3. mapper location 세팅 확인
    1. 제대로 작성하였더라도 경로가 잘못 작성되어 있을 경우에 안될 수 있습니다.
      대체로 프로젝트를 처음 작성하였을 때 발생합니다.

Mapped Statements collection does not contain value for 에러 원인은  위와 같이 3가지의 경우가 존재합니다.

해결 방법은 아래에서 만나보도록 하겠습니다. 생각보다 간단하니 금방 해결 하실 수 있을 겁니다.

 

 

Mapped Statements collection does not contain value for 해결 방법

1번과 2번의 경우는 해결 방법 또한 매우 간단합니다. 이클립스에서 ctrl + H를 눌러서 에러가 발생하는 mapper id로 검색을 하시면 바로 알 수 있습니다. 

 

검색 결과가 나오지 않는다면 원인 1번으로 mapper.xml 파일로 가 id를 다시 한번 확인해주시면 됩니다.

검색 결과가 많이 나오신다면 모두 확인을 해보시고 해당 파일이 2개 이상 있다면 2번의 경우입니다. 그렇다면 새로 만든 xml 파일의 namespace를 수정해주시면 정상 작동할 겁입니다.

 

마지막으로 검색도 되는데 나오지 않는 경우가 있습니다. 이게 바로 3번째 원인입니다. 이때는 마이 바티스의 config 파일을 확인해주시면 됩니다. config 파일에서 <mapper>가 정의되어있지 않거나 스펠링이 틀렸을 경우가 있습니다.

반응형
SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.