티스토리 뷰
* 에러 문구 : Mapped Statements collection already contains value for ~
* 원인
1. mapper id 가 틀린 경우.
2. Parameter와 bean의 field 명이 틀린 경우
3. sql.xml 에서 정의된 namespace와 DAO에서 호출하는 namespace가 다를 경우
4. mapper가 정의가 되어 있지 않거나 Spelling 이 틀린 경우
5. mapper에 정의 된 namespace 명칭이 같은 Application 내에 중복 될 경우
* 해결 : 위에 원인 중에 없었지만 따지자면 1번 원인과 비슷하다.
에러 문구를 좀 더 자세히 끝까지 보니
Caused by: org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [mybatis-config.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for kr.ifsoft.pdm.management.pts.PtsMapper.selectLoseByDate
끝 부분에 selectLoseByDate id 명이 보이길래 찾기로 가보니 같은 id 가 2개 존재 하여 하나를 삭제 하니 에러 표시가 사라 짐.
'Spring' 카테고리의 다른 글
SPRING 조회 기능 순서 흐름 (0) | 2018.12.14 |
---|---|
SPRING 리스트 기능 순서 흐름 (0) | 2018.12.14 |
SPRING 저장 기능 순서 흐름 (0) | 2018.12.14 |
mybatis selectKey (0) | 2018.03.26 |
코드로 배우는 웹 스프링 프로젝트 mysql->oracle (0) | 2018.01.30 |