728x90
Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for message.create
400 Bad request
Spring - Mybatis 오류
문제상황
위와 같은 오류 메시지가 나오는 원인들
- mapper id가 틀린 경우
- arameter와 bean의 field명이 틀린 경우
- sql.xml에서 정의된 namespace와 DAO에서 호출하는 namespace가 다를 경우
- mapper가 정의가 되어 있지 않거나 Spelling이 틀린 경우
- mapper에 정의된 namespace 명칭이 같은 Application 내에 중복 될 경우
원인
- 4번째 원인때문에 오류 발생
- 새로 작성한 mapper.xml의 위치가
root-context.xml
에서 정의한 곳이 아니었기 때문에 400 오류 발생
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/mybatis-config.xml"></property>
<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"></property>
</bean>
해결
root-context.xml
에서 정의한 위치에 mapper를 이동한 뒤 서버 재시작후 재실행, 오류 해결
출처 및 참고
[[에러] java.lang.IllegalArgumentException…][http://luceatluxvestra.tistory.com/17]