org.apache.ibatis.binding.BindingException: Invalid bound statement

haruceki·2024년 7월 22일

org.apache.ibatis.binding.BindingException: Invalid bound statement 예외는 MyBatis에서 매퍼 파일과 매퍼 인터페이스 간의 매핑에 문제가 있을 때 발생함. 이 예외는 일반적으로 MyBatis가 특정 SQL 문을 실행하려고 할 때 해당 SQL 문이 매퍼 파일에 정의되어 있지 않거나, 올바르게 바인딩되지 않았을 때 발생한다.

원인 및 해결 방법

  1. 매퍼 XML 파일에서 SQL 문 누락
    매퍼 XML 파일에 해당 SQL 문이 정의되어 있는지 확인합니다.
    예를 들어, com.sol.solomon.dao.LoginDao.getMember 메서드를 호출하려고 할 때, 매퍼 XML 파일에 <select id="getMember" ...>와 같은 SQL 문이 존재하는지 확인합니다.

  2. namespace 설정 문제
    매퍼 XML 파일의 namespace가 인터페이스의 전체 이름과 일치하는지 확인합니다.
    예를 들어, LoginDao 인터페이스가 com.sol.solomon.dao 패키지에 있다면, 매퍼 XML 파일의 namespace는 com.sol.solomon.dao.LoginDao이어야 합니다.

  3. 매퍼 XML 파일의 위치
    매퍼 XML 파일이 MyBatis 설정 파일에서 지정된 경로에 있는지 확인합니다.
    MyBatis 설정 파일(mybatis-config.xml)에 매퍼 파일의 경로가 올바르게 지정되어 있는지 확인합니다.

  4. MyBatis 설정 파일에서 매퍼 등록
    MyBatis 설정 파일에서 매퍼 인터페이스를 스캔하거나 매퍼 XML 파일을 등록하는 설정이 올바른지 확인합니다.
    예를 들어, mybatis-config.xml에서 태그를 사용하여 매퍼 파일을 등록합니다.

profile
희망도 절망도 없이 매일 코딩을 한다.

0개의 댓글