org.springframework.web.util.NestedServletException: Request processing failed; nested exception is

来源:互联网 发布:英语听力软件有哪些 编辑:程序博客网 时间:2024/05/16 08:19

关于以下错误的解决:

exceptionorg.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.studio.mapper.UserMapper.selectByPrimaryKeyorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)javax.servlet.http.HttpServlet.service(HttpServlet.java:622)org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)root causeorg.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.studio.mapper.UserMapper.selectByPrimaryKeyorg.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)com.sun.proxy.$Proxy13.selectByPrimaryKey(Unknown Source)com.studio.service.impl.UserServiceImpl.getById(UserServiceImpl.java:20)sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)java.lang.reflect.Method.invoke(Method.java:498)org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)com.sun.proxy.$Proxy16.getById(Unknown Source)com.studio.controller.UserController.getById(UserController.java:24)sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)java.lang.reflect.Method.invoke(Method.java:498)org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)javax.servlet.http.HttpServlet.service(HttpServlet.java:622)org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

发生以上错误时,我才应该和mapper的xml文件有关,我的文件目录如下:

我将resources中的目录com.studio.mapper修改为mapper试试,结果还是一样的报错。

然后我意识到一个问题,我这个mapper中的xml文件的目录创建方式是否会影响,因为上面报错时,我目录创建方式是直接全部创建的,如图:


接着我就修改方式创建:

我首先创建一个com的文件夹,然后在com下面创建一个studio的文件夹,最后studio下面创建一个mapper的文件夹,测试:

测试结果:

结果表明,resources,路径下的文件创建,不能一次性创建多个路径。

我在最后正确的文件路径下面看看能不能一次性创建一个com.studio.mapper:

看起来竟然有两个一模一样的文件目录。。。

其实他们是不同的,resources路径下面创建路径一定要一个一个创建,不然就会有问题。



阅读全文
0 0
原创粉丝点击