Error

[Mybatis] java.lang.IllegalArgumentException 에러

오선지♬ 2022. 1. 11. 11:36
728x90
반응형

<에러 내용>

 

심각: 경로 [/project]의 컨텍스트 내의 서블릿 [appServlet]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:  ### Error querying database. 
Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for replyns.maxNo
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for replyns.maxNo]을(를) 발생시켰습니다.
java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for replyns.maxNo

 

 

<에러해결>

검색해보니 IllegalArgumentException은

 

대부분은 mapper id가 다를 경우 , namespace가 다른 경우 (mapper파일의 id, namespace값와 mapper파일에 접근하는 java파일에 적어놓은 id값, namespace값이 다른경우)

나또한....맨처음에 maxNum으로 한다고 적었다가 이번 프로젝트 컬럼명들이 다 num말고 no로 쓰지! 하면서 maxNo으로 바꿨는데 하나를 빠뜨려서 에러가 났다.

 

그 외에도

- mapper에 정의된 namespace가 같은 application에서 중복될경우,

- parameter와 bean의 필드명이 틀린 경우

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

 

  

728x90
반응형