Spring Mybatis Error 해결 방법
Spring Mybatis 에러는 제 경험상 5가지만 체크하면 99.8% 정도는? 해결 가능!
Error : java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for ~
이 녀석을 이젠 더 이상 보기 싫다!!!!
1. mapper id Check!!
mapper 파일 ( 쿼리문을 모아두는 xml파일 ) 에서 <select id='seungje'></select>
seungje가 쿼리문이 호출되는 DAO와 같은 java파일에서 값이 같아야 하는데, 다르면 에러가 발생합니다.
dao에서 seungje라는 select 쿼리문을 부르고 싶은데 id가 다르니 부를 수 없는 것이죠
2. Parameter와 bean의 필드명이 틀린 경우
3. mapper 파일 namespace 가 다를 경우
1번과 비슷한 개념인 것 같습니다 해당 쿼리문을 호출할 때 namespace와 id를 통해 부르게 되는 것이죠
namespace로 mapper 전체를 찾고 id를 통해 그 안에서 요청한 쿼리를 찾게 되는 것입니다.
4. mapper에 정의된 namespace 중복될 경우
당연히 다른 경우에 문제가 되면, 중복될 경우에도 문제가 되겠죠? 2개 중에 어떤 걸 찾아야 할지 모르니까요~
5. MyBatis config 파일에 정의가 되어 있지 않거나 Spelling이 틀린 경우
MyBatis 설정파일로써 config dtd를 입력하고 밑에 <configuration> </configuration> 태그를 만들어 주지 않으면
에러가 발생합니다 반드시!! 빈 태그라도 만들어 주셔야 합니다.
추가적으로 설정은 config이고 쿼리문을 모아두는 곳은 mapper입니다 2개의 dtd가 다릅니다 꼭 확인하세요
저는 이것 때문에 하루를 날렷네요 ㅠ
쿼리문을 모아두는 mapper 파일
MyBatis 설정을 개별적으로 관리하는 설정파일
빨간색 상자 부분을 잘 확인하셔야 합니다
blog 승제노트
↓ 공감, 댓글 부탁드려요 ↓
'Develop Note' 카테고리의 다른 글
MariaDB(SQL) user 생성 및 삭제, 권한 부여 및 회수 (0) | 2017.08.25 |
---|---|
톰캣(Tomcat) 한글 깨짐 해결법 ( web.xml 한글 필터 적용방법 ) (2) | 2017.08.16 |
HeidSQL 설치 및 실행 방법 (0) | 2017.07.10 |
톰캣 설치 방법 (1) | 2017.07.06 |
Spring, STS 설치 방법(Eclipse Marketplace 이용) (2) | 2017.07.03 |
댓글