반응형
Mapped Statements collection does not contain value for ~ 에러원인

 

◆ 원인 / 해결


작업하다가 에러가 발생해서 한참 찾았는데 Mapper파일의 namespace에 공백오타가 있어서 매핑이 안되고 있었다.

namespace에 들어가 있던 공백을 제거하니깐 잘 적용 됐다.

 

참고 에러가 발생하는 이유는 여러 가지가 있지만 주로 아래와 같은 경우에서 많이 발생한다.

 

  • Mapper파일 (xml)에 지정된 id명과 Java의 DAO나 Service단에서 호출한 ID명이 불일치하는 경우
    • 위 xml파일 기준으로 <select id="selectProduct" 부분
  • Mapper파일 (xml)의 Sql 쿼리에서 참조하는 필드명이 Java단 에서 설정한 필드명과 불일치하는 경우
    • 위 xml파일 기준으로 #{number} 부분
  • 네임스페이스(namespace)가  불일치하는 경우
    • 위 xml파일 기준으로 <mapper namespace="compleproductRegiMapper"> 부분

글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.
-- 기억의 유효기간은 생각보다 짧다. --

 

반응형