프로그래밍/Java

스프링부트(spring boot) mybatis 에러 해결 invalid bound statement not found

소행성왕자 2021. 11. 17. 16:51

 

스프링 부트에서 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