Published 2022. 10. 2. 13:40
Mapped Statements collection does not contain value for ~ 에러 발생시 확인해야 하는 부분
1. mapper id가 다를경우 - 대부분 이경우
- mapper파일에 <select id=''.. 에 id 과 DAO 파일의 매퍼 아이디가 다른경우
- ex ) <select id="getUserInfo" 와 sqlSessionTemplate.selectOne("userMapper.getUser",userSeq);
2. mapper에 정의된 namespace 중복될 경우
- mapper.xml 파일의 <mapper namespace="userMapper"> 가 중복되는지 체크
3. mapper location 세팅 확인 - 경로가 잘 잡혔는지. (프로젝트 처음 세팅을 했는데 안되는 경우 이 부분 확인)
- classpath*:static/mappers/**/*Mapper.xml 이부분 (*가 없는 경우 *를 추가)
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 com.jcy.usedhunter.dao.BoardMapperselect ### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.jcy.usedhunter.dao.BoardMapperselect
해결
namespace 뒤에 '.' 을 잊었다.
String namespace = "com.jcy.usedhunter.dao.BoardMapper";
String namespace = "com.jcy.usedhunter.dao.BoardMapper."; // 마지막에 '.' 잊지 말기
'데이터 접근 기술 > MyBatis' 카테고리의 다른 글
MyBatis 기능 정리2 - 기타 기능 (0) | 2022.08.17 |
---|---|
MyBatis 기능 정리1 - 동적 쿼리 (0) | 2022.08.16 |
MyBatis 적용3 - 분석 (0) | 2022.08.16 |
MyBatis 적용2 - 설정과 실행 (0) | 2022.08.16 |
MyBatis 적용1 - 기본 (0) | 2022.08.16 |