우디의 개발스터디

Mapped Statements collection does not contain value for..

by 개발자 우디

에러메세지

java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for alimtalk_csv.selectNextAlimtalkCSVSeq

 

에러 원인

  1. mapper id가 다를 경우
    - mapper파일(MyBatis의 쿼리문을 등록한 XML 파일)에 <select id=''.. 에 id와 mapper파일에 직접 접근하는 service 메소드 id값이 다름
  2. Parameter와 bean의 필드명이 틀림
  3. mapper파일(MyBatis의 쿼리문을 등록한 XML 파일)에에 정의된 네임스페이스(namespace)와 
    mapper파일에 직접 접근하는 java파일(DAO나 service)에서 호출하는 네임스페이스(namespace)가 다름
  4. MyBatis config파일에 mapper가 정의가 되어 있지 않거나 Spelling이 틀린 경우
  5. mapper에 정의된 namespace 명칭이 같은 Application 내에 중복될 경우

 

해결

나의 경우는 mybatis-config-postgres.xml 파일에서 새로추가한 xml 파일을 매핑시켜주지 않아서 생긴 문제였다.

<configuration>
	<mappers>
		<mapper resource="bizmsg/alimtalk_csv/sql/AlimtalkCSV_Postgres.xml" />
	</mappers>
</configuration>

 

 

 

 

블로그의 정보

우디의 개발스터디

개발자 우디

활동하기