Mapped Statements collection already contains value

서현우·2022년 7월 10일
0

트러블슈팅

목록 보기
9/14

구글링으로 해결.
mapper.xml에 중복되는 id가 있을 경우 발생.
인텔리제이 로그에 오류 원인인 mapper.xml와 id를 보여줌.
IllegalStateException에러도 나왔는데, 맵핑주소 등 무언가 중복되는 경우 이 에러가 발생되는 것 같음.

IllegalStateException에러가 발생하는 경우는

  1. mapper id가 다를경우
    mapper파일(MyBatis의 쿼리문을 등록한 XML파일)에 <select id=''.. 에 id와
    mapper파일에 직접 접근하는 java파일(DAO나 service)에 적어놓은 id값이 다른 경우

  2. Parameter와 bean의 필드명이 틀린 경우

  3. mapper파일(MyBatis의 쿼리문을 등록한 XML파일)에 정의된 네임스페이스(namespace)와
    mapper파일에 직접 접근하는 java파일(DAO나 service)에서 호출하는 네임스페이스(namespace)가 다를 경우

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

  5. mapper에 정의된 namespace 명칭이 같은 Application 내에 중복 될 경우

profile
안녕하세요!!

0개의 댓글