您的位置:首页 > 编程语言 > Java开发

binding.BindingException: Invalid bound statement(not found)

2016-07-08 08:23 741 查看
具体异常信息:
2016-07-04 09:57:28.262 [DEBUG] org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver-->Resolving exception from handler [public org.jiankunking.test2016.system.member.entity.ResultEntity org.jiankunking.test2016.Controller.EcWarehouseController.getJoinList(java.lang.String,java.lang.String,java.lang.String,int) throws java.lang.Exception]: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.jiankunking.test2016.system.member.dao.EcWarehouseMapper.getJoinList
2016-07-04 09:57:28.263 [DEBUG] org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver-->Resolving exception from handler [public org.jiankunking.test2016.system.member.entity.ResultEntity org.jiankunking.test2016.Controller.EcWarehouseController.getJoinList(java.lang.String,java.lang.String,java.lang.String,int) throws java.lang.Exception]: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.jiankunking.test2016.system.member.dao.EcWarehouseMapper.getJoinList
2016-07-04 09:57:28.264 [DEBUG] org.jiankunking.test2016.component.exception.MyExceptionResolver-->Resolving exception from handler [public org.jiankunking.test2016.system.member.entity.ResultEntity org.jiankunking.test2016.Controller.EcWarehouseController.getJoinList(java.lang.String,java.lang.String,java.lang.String,int) throws java.lang.Exception]: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.jiankunking.test2016.system.member.dao.EcWarehouseMapper.getJoinList
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.jiankunking.test2016.system.member.dao.EcWarehouseMapper.getJoinList
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
at com.sun.proxy.$Proxy37.getJoinList(Unknown Source)
at org.jiankunking.test2016.system.member.service.Impl.EcWareHouseServiceIpml.getJoinList(EcWareHouseServiceIpml.java:35)
at org.jiankunking.test2016.Controller.EcWarehouseController.getJoinList(EcWarehouseController.java:48)
at org.jiankunking.test2016.Controller.EcWarehouseController$$FastClassBySpringCGLIB$$188cfe05.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649)
at org.jiankunking.test2016.Controller.EcWarehouseController$$EnhancerBySpringCGLIB$$ef7eaafb.getJoinList(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.workholic.framework.web.security.shirofilterfactory.ShiroFilterFactoryx$SpringShiroFilterx.doFilterInternal(ShiroFilterFactoryx.java:103)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2016-07-04 09:57:28.335 [DEBUG] org.springframework.web.servlet.DispatcherServlet-->Null ModelAndView returned to DispatcherServlet with name 'SpringMVC': assuming HandlerAdapter completed request handling
2016-07-04 09:57:28.336 [DEBUG] org.springframework.web.servlet.DispatcherServlet-->Successfully completed request
2016-07-04 09:57:28.336 [DEBUG] org.springframework.data.redis.core.RedisConnectionUtils-->Opening RedisConnection
2016-07-04 09:57:28.337 [DEBUG] org.springframework.data.redis.core.RedisConnectionUtils-->Closing bound connection.
2016-07-04 09:57:28.337 [DEBUG] org.springframework.beans.factory.support.DefaultListableBeanFactory-->Returning cached instance of singleton bean 'sqlSessionFactory'
本来跑的好好的代码,今天再一跑发现报出上面所示的问题。

然后百度,基本上都是下面的建议:
1、命名空间与类名是否正确



2、注意对比xml文件及接口中方法名、参数类型、返回值类型是否一致



首先,之前可以跑,而代码又没有修改说明,说明应该不是上面截图所示的问题,但我还是对比了一下,发现木有问题。
那会不会是target生成的jar中缺少mapper接口文件呢?
与mybatis相关的mapper接口文件、mapper.xml文件、实体类文件一个都不少。


然后,询问项目组同事他们那边是不是也出现了这种异常,发现最近从服务器获取过代码的,都出现了这个问题,这就排除了我代码的问题了


那会是哪里的问题呢?是不是谁修改mybatis的配置文件了呢?问了下负责这块的同事,同事说没有。

那会是哪里的问题呢?然后对比项目的中pom.xml发现:


获取代码后的pom.xml中多了一个依赖项,然后屏蔽掉该依赖项发现异常消失。为什么多一个依赖项,就会出现这个异常?而且出现异常的时候jiankunking-product中访问数据库的函数是没有问题的?
通过咨询发现是:一个*引发血案




那么这个星号是用来做什么的呢?classpath*:的出现是为了从多个jar文件中加载相同的文件.classpath:只能加载找到的第一个文件.
问题解决。
那如果都不是这些原因呢?
请查看ide生成的jar文件中有没有将你需要的xml文件打包进去!打包不进去有可能是ide出问题,ide里面的插件出问题了,重启一下ide,重启一下系统试试,谁让用的是盗版呢?



-----------------------------------------------------------------------------------------------------------------------------------------------------2016.08.24 续(修改 Project Structure 中丢失xml文件对应文件夹的类型试试,具体操作如下图)-----------------------------------------------------------------------------------------------------------------------



作者:jiankunking 出处:http://blog.csdn.net/jiankunking


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息