Web

MyBatis 오류: Invalid bound statement (not found)

superbono 2021. 7. 30. 09:49

JUnit 테스트를 돌리다 만나게 된 에러인데 어떨 때 발생하는지 정리해두려고 포스팅을 한다. 

 

1. mapper-locations 명시 안했을 경우

쿼리를 작성한 mapper xml 파일이 위치한 경로를 application.properties에 적어놔야 하는데 이걸 하지 않았을 경우 발생한다. 따라서 현재 개발하고 있는 프로젝트의 상황에 맞게 작성해주어야 한다. 

 

예시) 

mapper 폴더가 있는 경우

mybatis.mapper-locations:classpath:mapper/*.xml

이렇게 적어주었다. 

 

2. xml 파일과 dao 인터페이스가 어딘가 달라서

xml 파일에 오타가 있을 수 있고, 혹은 xml에서 id와 인터페이스에서 메소드 이름이 달라서 발생할 때에도 있다. 다만 xml 쿼리가 틀렸을 경우에는 bad sqlgrammer인가 하는 쿼리 문법에 대한 에러가 나므로 binding exception 같은 경우는 id 위주로 보면 된다.