junit mybatis 오류
- 작성자 :
- 이*진
- 작성일 :
- 2014-12-17 19:09:38
- 조회수 :
- 1,543
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
mybatis 설정을 아래와 같이 여러 개의 datasource 및 sqlSessionFactory로 구분하여 사용하고 있습니다.
근데, Junit로 테스트시 mapper 인터페이스의 메소드를 호출하는 단계에서 Invalid bound statement (not found) 라는 오류가 납니다.
Mapper 인터페이스는 아래 형태로 작성되어 있습니다.
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper
public interface SS1200CmmMapper {
}
물론, Tomcat 구동 환경에는 잘 수행됩니다.
왜 그런지요?
<bean id="dsHScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="aaa.bbb.**.dao"
p:sqlSessionFactoryBeanName="hSqlSessionFactory" />
<bean id="hSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:configLocation="classpath:/egovframework/sqlmap/config/sql-mapper-config.xml"
p:mapperLocations="classpath:/aaa/bbb/**/sqlmap/*Mapper.xml"
p:dataSource-ref="dataSource-h" />
<bean id="dsMScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="aaa.bbb.**.dao_mis"
p:sqlSessionFactoryBeanName="mSqlSessionFactory" />
<bean id="mSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:mapperLocations="classpath:/aaa/aaa/**/dao_mis/sqlmap/*Mapper_mis.xml"
p:configLocation="classpath:/egovframework/sqlmap/config/sql-mapper-config_mis.xml"
p:dataSource-ref="dataSource-m" />
근데, Junit로 테스트시 mapper 인터페이스의 메소드를 호출하는 단계에서 Invalid bound statement (not found) 라는 오류가 납니다.
Mapper 인터페이스는 아래 형태로 작성되어 있습니다.
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper
public interface SS1200CmmMapper {
}
물론, Tomcat 구동 환경에는 잘 수행됩니다.
왜 그런지요?
<bean id="dsHScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="aaa.bbb.**.dao"
p:sqlSessionFactoryBeanName="hSqlSessionFactory" />
<bean id="hSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:configLocation="classpath:/egovframework/sqlmap/config/sql-mapper-config.xml"
p:mapperLocations="classpath:/aaa/bbb/**/sqlmap/*Mapper.xml"
p:dataSource-ref="dataSource-h" />
<bean id="dsMScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="aaa.bbb.**.dao_mis"
p:sqlSessionFactoryBeanName="mSqlSessionFactory" />
<bean id="mSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:mapperLocations="classpath:/aaa/aaa/**/dao_mis/sqlmap/*Mapper_mis.xml"
p:configLocation="classpath:/egovframework/sqlmap/config/sql-mapper-config_mis.xml"
p:dataSource-ref="dataSource-m" />
A
안녕하세요.
Invalid bound statement (not found) 의 오류는 mapper 인터페이스 내 메서드를 통해 호출할 statement가 없다는 것입니다.
mapper 인터페이스의 풀네임이 mapper xml 파일의 namespace에 잘못 지정되어 있거나
메서드명이 statement id와 일치하지 않아 발생하게 됩니다.
mapper xml 설정을 기준으로 정확히 작성했는지 확인해보시기 바랍니다.
설정과 에러 로그는 일부분이 아닌 전체를 올려주셔야 더 정확한 확인이 가능합니다.
감사합니다.
Invalid bound statement (not found) 의 오류는 mapper 인터페이스 내 메서드를 통해 호출할 statement가 없다는 것입니다.
mapper 인터페이스의 풀네임이 mapper xml 파일의 namespace에 잘못 지정되어 있거나
메서드명이 statement id와 일치하지 않아 발생하게 됩니다.
mapper xml 설정을 기준으로 정확히 작성했는지 확인해보시기 바랍니다.
설정과 에러 로그는 일부분이 아닌 전체를 올려주셔야 더 정확한 확인이 가능합니다.
감사합니다.