HTTP Status 500 - Request processing failed; nested exception is org.apache.ibatis.binding.BindingException
在使用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的更多相关文章
- HTTP Status 500 - Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
今天整合ssm框架 时 遇到的问题 困扰我好长时间 原因就是 mapper文件 没有被加载进来 但是 为什么没有被加载进来呢 因为中间的配置文件出了一些问题 网上大多数说法是 在pom ...
- 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 ...
- Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement
原因: 此异常的原因是由于mapper接口编译后在同一个目录下没有找到mapper映射文件而出现的.由于maven工程在默认情况下src/main/java目录下的mapper文件是不发布到targe ...
- Exception:Request processing failed; nested exception is org.apache.ibatis.binding.BindingException
异常 在测试Spring MVC+Mybatis整合时,运行 Maven build -> tomcat7:Run 遇到如下异常 从异常信息上看,是找不到mapper对应的xml文件,于是我到t ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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: ...
随机推荐
- spring 和 spring boot 的区别
最近越来越多的开发者都开始选择 spring-boot,与传统的 spring 相比,spring-boot又有哪些优势呢? 1.追求开箱即用的效果,只需要很少的配置就可以直接开始运行项目. 例如各种 ...
- windows下静态编译pthread
1. Building the library as a statically linkable library-------------------------------------------- ...
- select()函数
select(),确定一个或多个套接口的状态,本函数用于确定一个或多个套接口的状态,对每一个套接口,调用者可查询它的可读性.可写性及错误状态信息,用fd_set结构来表示一组等待检查的套接口,在调用返 ...
- SpringBoot + WebSocket 开发笔记
1. 服务端的实现,我尝试了两种方式: 第一种是用“@ServerEndPoint”注解来实现,实现简单: 第二种稍显麻烦,但是可以添加拦截器在WebSocket连接建立和断开前进行一些额外操作. 不 ...
- 在 iPad 上试验从用算法生成法线贴图-到法线映射光照效果
在 iPad 上试验从用算法生成法线贴图-到法线映射光照效果 目录 概述 一般来说, 法线贴图是用高模的法线图, 低模的纹理图, 来生成较好的渲染效果. 而法线图通常是通过图像处理软件来生成的, 这里 ...
- 兼容firefox,ie,谷歌,阻止浏览器冒泡事件,Firefox不支持event解决方法
兼容firefox,ie,谷歌,阻止浏览器冒泡事件,Firefox不支持event解决方法 // 获取事件function getEvent(){ if(window.event) {return w ...
- 不用 Twitter Bootstrap 的5个理由
在以前我们的博客文章中,我们讨论了在web设计和开发项目中使用Twitter Bootstrap的好处.Twitter Bootstrap也有很多的缺点.让我们看看这些主要的问题: 1,它不遵循最佳实 ...
- 2016-2017-2 《Java程序设计》第六周学习总结
20155223 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 InputStream.OutputStream:无论数据源或目的地为何,只要设法取 ...
- 【树】ztree
ztree前端参见官网http://www.ztree.me/v3/main.php Action示例 public String initLabServerTree(){ return SUCCES ...
- c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法
通用方法: 此方法是采用unicode编码方式,一个汉字为2个字节,一个数字or字母是1个字节,此方法传入的第二个长度参数是unicode长度. 所以不用考虑截取的字符串是汉字还是英文字母的问题,参数 ...