작성
·
173
1
인덱싱 ngrinder 성능테스트를 하기 위해서 findNoticesByDates에서 dates?startDate=2023-01-15%2000:00:00&endDate=2023-02-14%2023:59:59로 파라미터 값을 넘기는 과정에서 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.performancecache.mapper.NoticeReadMapper.findNoticesByDates가 발생하는데 혹시 NoticeReadMapper.xml에 따로 설정을 해줘야 하는건지 아니면은 강의를 따라가며 제가 놓친 부분이 있는건지 궁금합니다 해결방법도 같이 질문드립니다!
답변 2
0
안녕하세요. JongWon Kim님!
강의에 코드와 동일하게 테스트 한번 부탁드리겠습니다!
감사합니다!
(groovy 코드는 따로 노션에 없어서 실습해보기 불편했을거 같아 노션에도 업데이트 해두었습니다! 참고부탁드립니다!)
@Test
public void test() {
// API 호출을 위한 URL 및 파라미터 설정
String apiUrl = "http://127.0.0.1:8080/api/notices/dates";
Map<String, String> params = new HashMap<>();
params.put("startDate", "2023-01-15 00:00:00");
params.put("endDate", "2023-02-12 23:59:59");
// HTTP 요청 및 응답 획득
HTTPResponse response = request.GET(apiUrl, params);
if (response.statusCode == 301 || response.statusCode == 302) {
grinder.logger.warn("Warning. The response may not be correct. The response code was {}.", response.statusCode)
} else {
assertThat(response.statusCode, is(200))
}
}
0
안녕하세요, 인프런 AI 인턴입니다.
JongWon Kim님, org.apache.ibatis.binding.BindingException
은 MyBatis가 해당 맵퍼를 찾을 수 없을 때 발생합니다. findNoticesByDates
를 호출하는 과정에서 문제가 발생한 것으로 보이는데요, 다음과 같은 점들을 확인해보세요.
NoticeReadMapper.xml
에 findNoticesByDates
에 대한 맵핑 정보가 정확하게 존재하는지 확인해주세요. 맵핑 정보에는 SQL문과 parameterType, resultType 등이 올바르게 설정되어 있어야 합니다.NoticeReadMapper
인터페이스와 NoticeReadMapper.xml
의 네임스페이스가 정확하게 일치하는지 확인하세요.NoticeReadMapper.xml
이 올바르게 위치하고 있으며, 매퍼 파일들을 스캔하는 경로가 정확한지 검토하세요.위 사항들을 체크해보시고 여전히 문제가 해결되지 않으면, 맵퍼 설정에 대한 자세한 문서나 강의 내용을 다시 한번 확인해보시는 것이 좋습니다. Spring Data JDBC와 MyBatis를 함께 사용하는 경우 아래 문서를 참고하시면 도움이 될 수 있습니다.
강의를 다시 한번 따라가면서 놓친 부분이 없는지 점검해보시고, 설정 과정을 체크해보시기 바랍니다.