Spring Framework/Spring

java.lang.IllegalArgumentException : Mapped Statements collection does not contain value 에러

Razelo 2021. 1. 29. 10:50

yunyoung1819.tistory.com/25

 

[마이바티스 에러] java.lang.IllegalArgumentException: Mapped Statements collection does not contain value

[마이바티스 에러] java.lang.IllegalArgumentException : Mapped Statements collection does not contain value 스프링 프로젝트에서 MyBatis를 적용하다가 다음과 같은 에러가 발생할 경우가 있다. * 에러 메시..

yunyoung1819.tistory.com

jaeu0608.tistory.com/75

 

[Error : Mybatis] Mapped Statements collection does not contain value for...

MyBatis에서 Mapped Statements collection does not contain value for... 이라는 에러가 떳다. 어떤 에러인지는 알고있었지만 select은 되는데 왜 insert문만 안되는거야 하면서 뭔가 문제냐고 하면서 보았다...

jaeu0608.tistory.com

위의 블로그들이 상당히 많은 도움이 되었다. 

 

mybatis를 통해 원하는 결과를 콘솔창에 출력해서 보려고 하는 중인데 java.lang.IllegalArgumentException 에러가 발생했다. 세부 사항을 보니 Mapped Statements collection does not contain value 라고 뜨는 것을 확인할 수 있었다. 

 

이번 오류는 모두 오타로 인함이었다. 이전 포스팅과 연계된 포스트인데, 이전 포스팅에서는 xml문서에서 첫라인에 띄어쓰기가 들어가서 발생한 문제였다. 

 

이번경우는 mapper에 있는 namespace에 #이 들어간 것이었다. 저 # 때문에 인식을 하지 못한 것이다. 

 

 

아 그리고 sql 구문을 써줄 때 예를 들어서 

 

insert into board(seq,title,writer,content) values((select nvl(max(seq),0)+1 from board),#{title},#{writer},#{content}

 

이런 구문이 있다고 했을 때 (나같은 경우는 seq 그러했다. ) 특정 단어에 언더라인이 그어지면서 경고표시가 뜨면서 그 단어가 뭘 의미하는 지 해석하지 못했다고 이클립스에서 표시해주는 경우가 있다.  이때에 이게 신경쓰인다면 

 

window -> preferences에 들어가고

 

general -> editors -> text editors -> spelling 에 들어가서 enable spell checking을 해체해주면 된다. 

 

이 체크를 해제하면 더 이상 스펠링 체크를 하지 않기 때문에 경고가 뜨지 않게 된다. 

 

이 경우는 다음의 블로그에서 도움을 얻었다. 

crazykim2.tistory.com/330

 

이클립스 xml파일 - The word '???' is not correctly spelled 경고

- 이클립스 xml파일 - The word '???' is not correctly spelled 경고 - xml을 수정하다보면 위와 같은 경고를 볼 수 있습니다. ex) 말 그대로 스펠링을 인식을 못 해서 생기는 경고입니다. 프로그램을 돌리는데

crazykim2.tistory.com

 

 

반응형