AMAD's Tech blog

nested exception is : Parameter not found

by AMAD

 

에러와 오류에 지친 여러분께 심심한 위로의 뜻을 전합니다. 

아울러 해당 포스팅은 개발 실력 향상을 위한 학습형 포스팅과는 성격이 다르다는 점 밝힙니다. 원인과 결과, 해당 오류의 해결을 위한 짤막한 글로 구성되어 있다는 것을 알려드리며, 모쪼록 이 페이지가 여러분의 마지막 검색이 되길 기원합니다. 

 

 

에러 문구

요약: parameter not found

 

 

요청 상황

요약: usflStkQty 의 값을 변경하고자 where 조건으로 strCd 와 gdsCd를 query parameter로 전달

 

 

요청 당시 소스코드(컨트롤러, 서비스, 매퍼, 매퍼xml)

컨트롤러

 

서비스

 

매퍼

 

 매퍼xml

 

But!! 

돌아오는건 에러...

 

 

생각해볼 수 있는 원인은??

에러 문구를 통해 usflStkQty를 not found 한다고 알 수 있다. 
하지만 분명 리퀘스트 요청시 usflStkQty의 값을 파라미터로 전달하고있다. 
그렇다면 매퍼에도 그값을 전달해서 쿼리문을 날려야 하지 않을까? 하는 한가지 가설 성립

성립한 가설을 토대로 코드 수정

수정한 컨트롤러

 

수정한 서비스

 

수정한 매퍼

 

수정한 매퍼xml

 

수정 후 에러 해결

 

요약: 파라미터로 값을 넘겨줬다고 mybatis에서 저절로 인식하지 못한다. 해당 소스코드의 전달 과정에서 쿼리 파라미터로 들어온 값을('usflStkQty') 매퍼xml파일에 까지 전달해 주어야 인식 할 수 있다.

 

블로그의 정보

성장 하고 싶은 개발자

AMAD

활동하기