在使用Maven工程管理工具整合SSM框架时,Mybatis使用逆向工程生成的pojo,mapper接口及映射文件,把mapper接口和映射文件放在DAO工程的同一级src/main/java目录下。正常启动服务器,浏览器执行业务Console控制台抛出异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)。

一、异常描述:

  1 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
2 cn.e3mall.mapper.TbItemMapper.selectByExample
3 at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)
4 at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)
5 at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
6 at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
7 at com.sun.proxy.$Proxy31.selectByExample(Unknown Source)
8 at cn.e3mall.service.impl.ItemServiceImpl.getItemById(ItemServiceImpl.java:34)
9 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
10 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
11 at sun.reflect.DelegatingMethodAccessorImpl.invoke
12 (DelegatingMethodAccessorImpl.java:43)
13 at java.lang.reflect.Method.invoke(Method.java:498)
14 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection
15 (AopUtils.java:302)
16 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint
17 (ReflectiveMethodInvocation.java:190)
18 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
19 (ReflectiveMethodInvocation.java:157)
20 at org.springframework.transaction.interceptor.
21 TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
22 at org.springframework.transaction.interceptor.TransactionAspectSupport.
23 invokeWithinTransaction(TransactionAspectSupport.java:281)
24 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke
25 (TransactionInterceptor.java:96)
26 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
27 (ReflectiveMethodInvocation.java:179)
28 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke
29 (ExposeInvocationInterceptor.java:92)
30 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
31 (ReflectiveMethodInvocation.java:179)
32 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke
33 (JdkDynamicAopProxy.java:208)
34 at com.sun.proxy.$Proxy34.getItemById(Unknown Source)
35 at cn.e3mall.controller.ItemController.getItemById(ItemController.java:27)
36 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
37 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
38 at sun.reflect.DelegatingMethodAccessorImpl.invoke
39 (DelegatingMethodAccessorImpl.java:43)
40 at java.lang.reflect.Method.invoke(Method.java:498)
41 at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
42 (InvocableHandlerMethod.java:222)
43 at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest
44 (InvocableHandlerMethod.java:137)
45 at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.
46 invokeAndHandle(ServletInvocableHandlerMethod.java:110)
47 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.
48 invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
49 at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.
50 handleInternal(RequestMappingHandlerAdapter.java:737)
51 at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle
52 (AbstractHandlerMethodAdapter.java:85)
53 at org.springframework.web.servlet.DispatcherServlet.doDispatch
54 (DispatcherServlet.java:959)
55 at org.springframework.web.servlet.DispatcherServlet.doService
56 (DispatcherServlet.java:893)
57 at org.springframework.web.servlet.FrameworkServlet.processRequest
58 (FrameworkServlet.java:969)
59 at org.springframework.web.servlet.FrameworkServlet.doGet
60 (FrameworkServlet.java:860)
61 at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
62 at org.springframework.web.servlet.FrameworkServlet.service
63 (FrameworkServlet.java:845)
64 at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
65 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
66 (ApplicationFilterChain.java:305)
67 at org.apache.catalina.core.ApplicationFilterChain.doFilter
68 (ApplicationFilterChain.java:210)
69 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
70 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
71 (ApplicationFilterChain.java:243)
72 at org.apache.catalina.core.ApplicationFilterChain.doFilter
73 (ApplicationFilterChain.java:210)
74 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal
75 (CharacterEncodingFilter.java:121)
76 at org.springframework.web.filter.OncePerRequestFilter.doFilter
77 (OncePerRequestFilter.java:107)
78 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
79 (ApplicationFilterChain.java:243)
80 at org.apache.catalina.core.ApplicationFilterChain.doFilter
81 (ApplicationFilterChain.java:210)
82 at org.apache.catalina.core.StandardWrapperValve.invoke
83 (StandardWrapperValve.java:222)
84 at org.apache.catalina.core.StandardContextValve.invoke
85 (StandardContextValve.java:123)
86 at org.apache.catalina.authenticator.AuthenticatorBase.invoke
87 (AuthenticatorBase.java:502)
88 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
89 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
90 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
91 at org.apache.catalina.core.StandardEngineValve.invoke
92 (StandardEngineValve.java:118)
93 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
94 at org.apache.coyote.http11.AbstractHttp11Processor.process
95 (AbstractHttp11Processor.java:1041)
96 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process
97 (AbstractProtocol.java:603)
98 at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
99 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
100 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
101 at java.lang.Thread.run(Thread.java:748)

二、错误分析:

       此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的。由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到target目录下的。

三、解决办法:

方法1:将Mapper映射文件放到src/main/resources目录下,然后再建一个和mapper接口所在的包名一样的包。

方法2:在此工程pom文件中配置一下resources。

  1 <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
2 <build>
3 <resources>
4 <resource>
5 <directory>src/main/java</directory>
6 <includes>
7 <include>**/*.properties</include>
8 <include>**/*.xml</include>
9 </includes>
10 <filtering>false</filtering>
11 </resource>
12 </resources>
13 </build>

四、注意事项:

原配置文件默认放在src/main/resources目录下,这样配置了之后,就指定src/main/java它是资源目录,src/main/resources目录就会不起作用了。如果不想这样,需要在配置中再加上一个resource节点,把src/main/resources目录也添加进来,即:

  1 <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
2 <build>
3 <resources>
4 <resource>
5 <directory>src/main/java</directory>
6 <includes>
7 <include>**/*.properties</include>
8 <include>**/*.xml</include>
9 </includes>
10 <filtering>false</filtering>
11 </resource>
12 <resource>
13 <directory>src/main/resources</directory>
14 <includes>
15 <include>**/*.properties</include>
16 <include>**/*.xml</include>
17 </includes>
18 <filtering>false</filtering>
19 </resource>
20 </resources>
21 </build>

HTTP Status 500 - Request processing failed; nested exception is org.apache.ibatis.binding.BindingException的更多相关文章

  1. HTTP Status 500 - Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    今天整合ssm框架 时 遇到的问题 困扰我好长时间     原因就是  mapper文件 没有被加载进来 但是 为什么没有被加载进来呢  因为中间的配置文件出了一些问题 网上大多数说法是   在pom ...

  2. Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid b

    Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid b ...

  3. Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement

    原因: 此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的.由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到targe ...

  4. Exception:Request processing failed; nested exception is org.apache.ibatis.binding.BindingException

    异常 在测试Spring MVC+Mybatis整合时,运行 Maven build -> tomcat7:Run 遇到如下异常 从异常信息上看,是找不到mapper对应的xml文件,于是我到t ...

  5. HTTP Status 500 - Request processing failed; nested exception is org.springframework.jdbc.BadSqlGram

    HTTP Status 500 - Request processing failed; nested exception is org.springframework.jdbc.BadSqlGram ...

  6. HTTP Status 500 - Request processing failed; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement

    1.什么操作出现:当我在项目中添加产品或者修改时,浏览器出现HTTP Status 500 - Request processing failed; nested exception is org.h ...

  7. HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException

    HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException type ...

  8. SpringMvc错误:HTTP Status 500 - Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is n

    HTTP Status 500 - Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemExc ...

  9. HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: Control character in cookie value or attribute.

    HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: ...

随机推荐

  1. VS2010(32bit) + WIN7(64bit) 编译出不同平台程序版本

    一.X86,即一般普通PC上跑的程序版本,不用修改工程属性 二.X64 1.设置工程平台---会在工程目录下生成  X64 文件夹 在工具栏--->生成--->配置管理器 窗口 设置“活动 ...

  2. 机器学习算法整理(一)线性回归与梯度下降 python实现

    回归算法 以下均为自己看视频做的笔记,自用,侵删! 一.线性回归 θ是bias(偏置项) 线性回归算法代码实现 # coding: utf-8 ​ get_ipython().run_line_mag ...

  3. 动态引用外部的Javascript脚本文件[转]

    你可以参考下面方法,进行动态为网页引用外部的Javascript脚本文件.代码写在Page_Init方法内. VB.NET: 下图是运行时,查看HTML的源代码: C#:

  4. IDEA 2017 破解

    一.windows 1.进入hosts文件中:C:\Windows\System32\drivers\etc\hosts 2.将"0.0.0.0 account.jetbrains.com& ...

  5. 20155322 2016-2017-2 《Java程序设计》第7周学习总结

    20155322 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第七周学习的主要内容是课本的第十二第十三章: 第十二章主要内容: "Lambda ...

  6. solr后台界面介绍——(十一)

    1.加一个collection的方法 复制solr-home下的collection1,修改名字为collection2.并且修改collection2文件夹中配置文件core.properties中 ...

  7. thinkphp报错Call to undefined method app\index\controller\Index::fetch()

    因为要写一个系统,所以又重新下载了thinkphp,然后安装了一下.回忆起这个问题很容易让新手朋友费解.会出现如下报错:Call to undefined method app\index\contr ...

  8. Python标准库笔记(7) — copy模块

    copy-对象拷贝模块:提供了浅拷贝和深拷贝复制对象的功能, 分别对应模块中的两个函数 copy() 和 deepcopy(). 1.浅拷贝(Shallow Copies) copy() 创建的 浅拷 ...

  9. VC++6.0中ClassView中类消失 解决方案[转自网络]

    有时候在VC++6.0中编程会出现这样一个问题,由于对C...View类的操作后,在窗口左边ClassView框中的C...View类会消失,这种操作通常是在C...View类中右击点“Add Win ...

  10. 一步一步搭建oracle 11gR2 rac+dg之database安装(五)【转】

    一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之database安装 (五)   转自 一步一步搭建oracle 11gR2 ...