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: ...
随机推荐
- 安装MySQL5.7由于 Redistributable导致失败
今天上午安装MySQL5.7时一直提示 1: Action 10:59:21: INSTALL. 1: 1: MySQL Server 5.7 2: {F08E9C75-A42E-4962-8760- ...
- python---RabbitMQ(5)消息RPC(远程过程调用)
服务器端: import pika #创建socket connection = pika.BlockingConnection(pika.ConnectionParameters( host='lo ...
- 非常强力的reduce
Array 的方法 reduce 是一个有非常多用处的函数. 它一个非常具有代表性的作用是将一个数组转换成一个值.但是你可以用它来做更多的事. 1.使用"reduce"代替&quo ...
- 20155209 2016-2017-2 《Java程序设计》第五周学习总结
20155209 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 try语句用大括号{}指定了一段代码,该段代码可能会抛弃一个或多个例外. catch语句的参 ...
- 【leetcode 简单】 第一百零六题 压缩字符串
给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长度. 进阶: ...
- 列表函数&方法
列表(list)的基本操作,方法及属性.
- 双击CAD对象,显示自定义对话框实现方法
class TlsApplication : IExtensionApplication { void IExtensionApplication.Initialize() { TTest.Start ...
- Java并发编程(3) JUC中的锁
一 前言 前面已经说到JUC中的锁主要是基于AQS实现,而AQS(AQS的内部结构 .AQS的设计与实现)在前面已经简单介绍过了.今天记录下JUC包下的锁是怎么基于AQS上实现的 二 同步锁 同步锁不 ...
- Qbot回归,已感染5.4万台计算机
Qbot回归,已感染5.4万台计算机 近日,BAESystems的安全人员发表了一篇关于Qbot网络感知蠕虫回归的调查报告,指出已经感染了5.4万台计算机. FreeBuf百科 Qbot蠕虫,也叫Qa ...
- 【HASPDOG】卸载
rpm -qa | grep aksusdb rpm -e aksusdb... rm -rf /var/hasplm