본문 바로가기
SpringBoot

[Spring Boot][Error] Invalid bound statement (not found)

by 청양호박이 2019. 11. 11.

열심히 Controller / Service / Mapper를 만들고, 희망찬 마음으로 URL을호출했는데... 결과적으로 Error가 발생하면 참으로 난감합니다. 

 

분명히 Project를 실행하면... Started 라는 메시지를 봤는데... 곧이어...

 

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): [내 Mapper Interface 명.method명]

 

이 발생했는데... 죽어도 못찼겠다!!! 그럼 아래 2가지를 우선 확인해보면 됩니다.

  • Mapper이름 및 method명 불일치
  • DataSource를 위한 Configuration 파일 확인

 

1. Mapper 이름 및 method명 불일치


반드시 일치해야 하는 이름들이 있습니다.

@Mapper
public interface UserMapper {

	ArrayList<UserDTO> selectUser();

}



<mapper namespace="com.example.ayoteralab.main.mapper.UserMapper">
<select id="selectUser" resultType="com.example.ayoteralab.main.dto.UserDTO">

바로 Mapper class의 method와 Mapper xml내 id 이름...

mapper namespace에 기재된 Mapper class의 위치...

resultType의 DTO class의 위치...

 

이게 다 맞는데도... 도무지 안된다!! 그렇다면 DatabaseConfiguration을 확인해 봅니다. 

 

 

2. DataSource를 위한 Configuration 파일 확인


해당 Configuration class작성법은 기존에 블로그에 작성한 DB Connection Pool을 참조 부탁드립니다.

2019/11/10 - [SpringBoot] - [Spring Boot] 04. DB Connection Pool (Multi Source 포함)

 

[Spring Boot] 04. DB Connection Pool (Multi Source 포함)

앞으로 MVC구조를 실질적으로 구현해보고, Controller를 통한 URL요청부터 Mapper의 DB Query리턴까지 동작이 되기 위해서는 DBCP(Database Connection Pool)을 사용해야 합니다. 이는 JDBC와의 Connection을 위해..

ayoteralab.tistory.com

해당 Configuration에는 SqlSessionFactory에 Mapper위치 및 DTO 설정을 하게 되는데... 이게 없을 경우 발생할 소지가 있습니다.

 

그럼 Error가 발생해도 걱정하지 말고 찬찬히 살펴보시기 바랍니다.

 

-Ayotera Lab-

 

 

 

 

댓글