inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Giới thiệu về Phát triển Web Spring Boot - Tìm hiểu bằng cách làm theo

Tùy chọn MyBatis & Cho đến khi có yêu cầu (chọn)

마이바티스 환경설정 조회하기 강의 부분에서 메뉴부분에러

58

작성자 없음

0 câu hỏi đã được viết

0

 2025-12-17 11:51:45.686 ERROR 15916 --- [nio-8081-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.boot.sailing.v1.dao.MenuDao.doList] with root cause

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.boot.sailing.v1.dao.MenuDao.doList

at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:229) ~[mybatis-3.5.13.jar:3.5.13]

at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53) ~[mybatis-3.5.13.jar:3.5.13]

at org.apache.ibatis.binding.MapperProxy.lambda$cachedInvoker$0(MapperProxy.java:96) ~[mybatis-3.5.13.jar:3.5.13]

at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[na:1.8.0_352]

at org.apache.ibatis.util.MapUtil.computeIfAbsent(MapUtil.java:36) ~[mybatis-3.5.13.jar:3.5.13]

at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:94) ~[mybatis-3.5.13.jar:3.5.13]

at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86) ~[mybatis-3.5.13.jar:3.5.13]

at com.sun.proxy.$Proxy64.doList(Unknown Source) ~[na:na]

at com.boot.sailing.v1.service.MenuSvc.doList(MenuSvc.java:25) ~[main/:na]

at com.boot.sailing.v1.controller.MenuCon.doMenu(MenuCon.java:24) ~[main/:na]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_352]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_352]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_352]

at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_352]

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.24.jar:5.3.24]

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.24.jar:5.3.24]

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.24.jar:5.3.24]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:670) ~[tomcat-embed-core-9.0.70.jar:4.0.FR]

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.24.jar:5.3.24]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.70.jar:4.0.FR]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.70.jar:9.0.70]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.24.jar:5.3.24]

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.24.jar:5.3.24]

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.24.jar:5.3.24]

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24]

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) ~[tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-embed-core-9.0.70.jar:9.0.70]

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.70.jar:9.0.70]

at java.lang.Thread.run(Thread.java:750) [na:1.8.0_352]

 

spring mvc

Câu trả lời 2

0

itpaul

안녕하세요.

해당 오류는 MyBatis가 MenuDao 인터페이스의 doList 메서드에 대응하는 SQL 매핑을 찾지 못했다는 의미입니다.

아마도 설정한 경로값이 맞지 않아서 발생하지 안하 싶습니다.

정확한 오류 원인을 찾기 위해서 자바소스를 압축해서 저에게 보내주시면 확인하고 오류 수정 하도록 하겠습니다.

good.dhkim@gmail.com

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. hyspoe님.

제시하신 오류는 MyBatis가 해당 Mapper의 SQL 구문을 찾지 못해 발생한 것입니다. 구체적으로는 com.boot.sailing.v1.dao.MenuDao.doList 메서드에 대한 SQL 정의가 잘못되었거나 누락됐을 때 나타납니다. 이 문제를 해결하기 위해 다음 사항들을 확인해보세요:

  1. Mapper XML 파일 위치 확인:
    • MyBatis가 xml 파일을 찾을 수 있도록 경로가 올바르게 설정되어 있는지 확인해주세요. 주로 application.yml(또는 application.properties)에서 경로를 정의하게 됩니다.
   mybatis:
     mapper-locations: classpath:sqlmapper/**/*.xml

예를 들어, CoffeeMenu.xml 파일이 올바른 경로에 위치하고 있는지, 그리고 해당 파일이 정확히 classpath에 포함되어 있는지 확인 바랍니다.

  1. Namespace 확인:
    • xml 파일 내에서 정의한 namespace가 인터페이스 내의 패키지 경로와 정확히 일치하는지 확인해주세요.
   <mapper namespace="com.boot.sailing.v1.dao.MenuDao">
       ...
   </mapper>

namespace와 실제 MenuDao 인터페이스 패키지 경로가 정확히 일치해야 합니다.

  1. 메서드명이 일치하는지 확인:
    • Mapper XML 파일에서 <select> 구문의 idMenuDao 인터페이스의 메서드명이 정확히 일치하는지 확인하세요.
   <select id="doList" resultType="map">
       SELECT no, coffee, kind, price,
       DATE_FORMAT(reg_day,'%Y,%m,%d') AS reg_day,
       DATE_FORMAT(mod_day,'%Y,%m,%d') AS mod_day
       FROM coffee_menu
   </select>
  1. MyBatis 설정이 제대로 되어 있는지 확인:
    • @MapperScan 설정이 MyBatis가 사용하는 Mapper 인터페이스를 스캔할 수 있도록 설정되었는지 확인하세요.

오류 해결을 위해 유사한 질문에서도 유용한 정보를 찾을 수 있을 것입니다. 아래 링크들을 참조하세요:

이와 같은 검토를 통해 문제를 해결할 수 있을 것입니다. 만약 추가적인 도움이 필요하시다면 문의사항 남겨주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

자바 8버전이 선택지에 없는데 어떻게 하죠

0

71

2

zip파일 다운받아서 풀었는데도 계속 오류가 생기네요

0

182

2

가격 수정만 자꾸 에러페이지로 갑니다...ㅜ

0

267

2

오류가 이렇게 뜨는데

0

498

1

타임리프 > jsp

0

97

1

File imprt 어떤거 해야하죠?

0

127

1

검색기능이 안됩니다

0

142

2

검색기능이 안됩니다

0

173

3

500에러

0

168

2

v2 객체 만드는중 입니다

0

125

2

오류가 자꾸 나는데 왜이러는 걸까요?ㅠㅠ

0

239

5

오류가 왜 나는건지 모르겠어요

0

150

2

스프링 부트 버전

0

168

2

log.info가 적용이 안되는 문제

0

172

1

Spring Boot에서 jsp 연동 오류

0

317

1

7장 insert mapper erro 문의합니다

1

246

2

선생님 혹시 파일업로드도 알려주실수있나여?

2

593

1

선생님 혹시 세션하고 쿠키 부분 언제쯤 올려주실수있나여?

1

195

1

스프링 부트 2.x 버전 지원 중단, myBatis 추가가 안돼요

0

880

1

커뮤니티 버전에서 스프링 부트를 선택할수 없습니다.

1

347

1

안녕하세요 Ajax강의 잘듣고있습니다. 다름이 아니라 Ajax로 검색할떄 시작일이나 종료일 고객명과 같은 검색조건을 어떻게 구현해야하는지 고민을해보다 질문드립니다.

1

349

2

DB 생성시 발생 에러 관련! "Can't create table" "Error No 150. "Foreign key constraint is incorrectly formed")

1

527

0

int i = menuService.doInsert(coffee,kind,price); 이 코드 질문있어요

1

376

1

@Data 인식 문제

0

289

2