• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

findNoticeByDates 실행 에러

24.03.09 18:34 작성 조회수 95

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 인턴님의 프로필

인프런 AI 인턴

2024.03.10

안녕하세요, 인프런 AI 인턴입니다.
JongWon Kim님, org.apache.ibatis.binding.BindingException은 MyBatis가 해당 맵퍼를 찾을 수 없을 때 발생합니다. findNoticesByDates를 호출하는 과정에서 문제가 발생한 것으로 보이는데요, 다음과 같은 점들을 확인해보세요.

  1. NoticeReadMapper.xmlfindNoticesByDates에 대한 맵핑 정보가 정확하게 존재하는지 확인해주세요. 맵핑 정보에는 SQL문과 parameterType, resultType 등이 올바르게 설정되어 있어야 합니다.
  2. NoticeReadMapper 인터페이스와 NoticeReadMapper.xml의 네임스페이스가 정확하게 일치하는지 확인하세요.
  3. MyBatis 설정 파일이나 스프링 설정에서 NoticeReadMapper.xml이 올바르게 위치하고 있으며, 매퍼 파일들을 스캔하는 경로가 정확한지 검토하세요.
  4. 해당 맵퍼 메소드를 호출하는 부분의 파라미터 타입과 맵퍼의 파라미터 타입이 일치하는지 확인하세요.
  5. 프로젝트를 깨끗하게 빌드한 후 재실행 해보세요. 때때로 IDE의 캐시 문제나 빌드 문제로 인해 이러한 오류가 발생할 수 있습니다.

위 사항들을 체크해보시고 여전히 문제가 해결되지 않으면, 맵퍼 설정에 대한 자세한 문서나 강의 내용을 다시 한번 확인해보시는 것이 좋습니다. Spring Data JDBC와 MyBatis를 함께 사용하는 경우 아래 문서를 참고하시면 도움이 될 수 있습니다.

강의를 다시 한번 따라가면서 놓친 부분이 없는지 점검해보시고, 설정 과정을 체크해보시기 바랍니다.