스프링 부트에서 mybatis 사용할때 아래와 같이 계속 mapper 에러가 발생한다.
org.apache.ibatis.binding.bindingexception invalid bound statement not found
여러가지 이유를 찾아보던중 가장 흔이 발생하는
mapper interface 경로와 mapper xml namespace 경로가 다를때 발생한다.
하지만 나는 경로 와 오타가 없이 정확하게 일치하는데
계속 invalid bound statement not found 에러가 발생했다.
결론은 mapper xml 의 디렉토리가 3단계로 되어 있어서 그런것이었다.
기존 아래와 같이 resources 하위 3단계였다
resources
mybatis
mapper
example
StudentMapper.xml
위 구조를 아래와 같이 변경하니 정상적으로 작동한다.
resources
mapper
example
StudentMapper.xml
실제 프로젝트 경로를 한번 살펴보자
또한 mapper.xml 에서는 mapper 패키지 경로와 일치해야 한다.
참고로
application.properties
mybatis.mapper-locations=classpath:mapper/**/*.xml
'프로그래밍 > Java' 카테고리의 다른 글
intellij thymeleaf 재시작 없이 실시간 반영 (0) | 2021.11.18 |
---|---|
스프링부트(spring boot) mysql 연동시 log4j2 설정 gradle intellij (0) | 2021.11.17 |
인텔리제이(Intellij)를 이용한 스프링 부트(Spring Boot) 시작 부터 배포까지 (0) | 2021.11.12 |
인텔리제이(Intellij) 스프링 부트(Spring Boot) Gradle 이용한 WAR 배포 설정 방법 (0) | 2021.11.12 |
톰캣(tomcat) war 배포를 위한 server.xml appBase docBase 등 설정 방법 (0) | 2021.11.12 |