Invalid bound statement (not found)
오류 원인
- Mapper 인터페이스와 XML의 오타
- 기본적으로 Mapper 인터페이스와 XML에 오타가 있는지 확인
- mapper-locations
- 쿼리가 작성되어 있는 mapper XML이 위치한 경로를 application.properties에 정의하지 않아서 또는 잘못 선언된 경우 발생할 수 있다. 정확한 경로는 프로젝트에 따라 변경해 주면 된다.
mybatis.mapper-locations:classpath:mapper/*.xml
- 동일한 일므, 다른 패키지 경로
- Mapper의 이름이 같지만 패키지 이름이 달라서 IntelliJ나 Eclipse에서 컴파일 오류가 발생하지 않는 경우
- yaml 파일 오타
- 설정 파일 내에서 잘못된 들여쓰기로 다른 설정값이 정상적으로 읽히지 않을 수 있다
- DataSource Configuration
- SessionFactory가 설정된 경우 setMapperLocations 메서드 등으로 Mapper XML의 위치를 선언할텐데 의도한 대로 잘 설정되어 있는지 확인
@MapperScan이 선언된 경우에는 Mapper 인터페이스가 있는 위치와 일치한지 확인