에러

Mapped Statements collection does not contain value for

integerJI 2020. 3. 22. 16:45

에러를 찾아보자구

 

console창을 통해 의심 가는 목록들

 

### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for ~~~ 파일 경로

 

### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for ~~~ 파일 경로

 

Caused by: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for ~~~ 파일 경로

 

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

 

이런 상황에서 에러가 발생할 수 있다고 한다.

 

1. mapper id가 다를 경우

   - mapper파일(MyBatis의 쿼리문을 등록한 XML 파일)에 <select id=''.. 에 id와 

     mapper파일에 직접 접근하는 java파일(DAO나 service)에 적어놓은 id값이 다른 경우 

2. Parameter와 bean의 필드명이 틀린 경우

3. mapper파일(MyBatis의 쿼리문을 등록한 XML 파일)에에 정의된 네임스페이스(namespace)와 

   mapper파일에 직접 접근하는 java파일(DAO나 service)에서 호출하는 네임스페이스(namespace)가 다를 경우

4. MyBatis config파일에 mapper가 정의가 되어 있지 않거나 Spelling이 틀린 경우

5. mapper에 정의된 namespace 명칭이 같은 Application 내에 중복될 경우

 

[출처] [에러] 마이바티스 에러 Mapped Statements collection does not contain value for​ ~|작성자 자바킹

 

내가 발생한 에러는 3번

 

mapper파엘에서 namespace에 등록한 것과 호출하는 namespace가 달라서 그랬던 것이다...

 

주의 깊게 봐야 한다.