解决老是提示找不到Mapper文件无法执行定义的方法问题!

尼玛,被mybatis的*Mapper.xml文件害惨了!整整两天都在围绕这个问题转圈!

先看问题长啥样吧!下面是通过逆向工程生成的Mapper.xml文件,包路径什么的都没有错!

但是每次调用Mapper中的方法的操作数据库的时候都失败:

贴出来详细的报错信息:

 1 三月 19, 2017 10:16:45 下午 org.apache.catalina.core.ApplicationContext log
 2 信息: No Spring WebApplicationInitializer types detected on classpath
 3 三月 19, 2017 10:16:45 下午 org.apache.catalina.core.ApplicationContext log
 4 信息: Initializing Spring root WebApplicationContext
 5 三月 19, 2017 10:16:48 下午 org.apache.catalina.core.ApplicationContext log
 6 信息: Initializing Spring FrameworkServlet ‘xuebusi-manager‘
 7 三月 19, 2017 10:20:40 下午 org.apache.catalina.core.StandardWrapperValve invoke
 8 严重: Servlet.service() for servlet [xuebusi-manager] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xuebusi.mapper.TbUserMapper.selectByExample] with root cause
 9 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xuebusi.mapper.TbUserMapper.selectByExample
10     at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)
11     at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)
12     at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
13     at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
14     at com.sun.proxy.$Proxy19.selectByExample(Unknown Source)
15     at com.xuebusi.service.impl.UserServiceImpl.getUserById(UserServiceImpl.java:66)
16     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
17     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
18     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
19     at java.lang.reflect.Method.invoke(Method.java:606)
20     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
21     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
22     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
23     at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
24     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:267)
25     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
26     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
27     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
28     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
29     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
30     at com.sun.proxy.$Proxy20.getUserById(Unknown Source)
31     at com.xuebusi.controller.TestController.getUserById(TestController.java:50)
32     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
33     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
34     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
35     at java.lang.reflect.Method.invoke(Method.java:606)
36     at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
37     at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
38     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
39     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)
40     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)
41     at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
42     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
43     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
44     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
45     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
46     at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
47     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
48     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
49     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
50     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
51     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
52     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
53     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
54     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
55     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
56     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
57     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
58     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
59     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
60     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
61     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
62     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
63     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
64     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
65     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
66     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
67     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
68     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
69     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
70     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
71     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
72     at java.lang.Thread.run(Thread.java:745)

折腾了两天,偶尔在网上见网友如下解决方案,才算是解决了(想大哭一场):

确定你的mapper.xml文件确实是没有的问题的,就尝试修改项目的pom.xml文件,添加如下内容即可:

 1     <build>
 2         <resources>
 3             <resource>
 4                 <directory>src/main/java</directory>
 5                 <includes>
 6                     <include>**/mapper/*Mapper.xml</include>
 7                 </includes>
 8             </resource>
 9         </resources>
10     </build>
时间: 2024-10-16 16:36:45

解决老是提示找不到Mapper文件无法执行定义的方法问题!的相关文章

win10更新后文件夹无法移动和重命名,提示找不到指定文件

可以说,经历了那么多的windows系统,但是版本最多的,还是这个win10系统,但是不得不说,现在的win10系统在经历了众多版本的升级之后,也开始变得越发的完善了,不过其中的问题似乎也是蛮显著的,在一次又一次的升级过程中,Windows用户遇到的问题也是不少的. 最近有很多朋友发现了一问题,win10更新系统后出现文件夹无法移动和重命名,提示找不到指定文件的现象:          在 Windows 10 中,重命名文件或者文件夹总是自动闪掉,导致无法正常对文件夹或者文件夹进行重命名.或者

读属性文件直接执行其中的方法

package com.gxnu.study.reflect.bean; import java.io.InputStream;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.nio.file.Files;import java.nio.file.Paths;import java.

解决chrome提示您的连接不是私密连接的方法

前一段时间,Chrome 突然显示出了“您的连接不是私密连接”,这下可难受了,大部分的网站打开都有问题. 找了各种方法,各种设置都是不行. 一.暴力.费力的方法直接卸载 Chrome ,删除一切数据以及注册表,重新安装.这个方法也是可行的,但是时不时的出现这个问题,每次都这样还是挺麻烦的. 二.简单.完美解决方法在经历过几次上面的折磨后,决心一定要找个好的方法.结果,还是找到了.具体方法是:1.右键 Chrome 的快捷方式 - 属性,如图: 2.在“目标”后的文本框中的后面添加,记得有个空格

win2003的IIS無法使用,又一次安裝提示找不到iisadmin.mfl文件

我的系統是win2003 繁體版 sp2,現在iis無法使用,我同事的也是,也不知道是不是跟在網域中有關係,因為我用虛擬機的繁體系統win2003 R2版iis能够正常使用,不過曾经那台電腦也是在網域中,可是就能够用,還配置了支持php的,真是鬱悶死我了. 在網上搜索一下,發現非常多人都遇到這種情況,几種方法都試過了,都還是不行,也試了用那個win2003 R2版來安裝iis,還是不用访問,估計是iis與我在用的系統不匹配,在網上查到iis與系統不是統一個版本号的也會無法使用的.還是要試一下其他

adt-bundle-linux-x86_64-20131030下新建project提示找不到adb和R.java问题的解决

adt-bundle-linux-x86_64-20131030下新建project提示找不到adb和R.java问题的解决 在ubuntu14.04下,搭建Android开发环境,下载官方的adt-bundle-linux-x86_64-20131030后.启动eclipse,新建一个项目.提示找不到"R"文件,即R文件未成.启动模拟器提示"...Cannot run program "/home/zenail/adt-bundle-linux-x86_64-20

Visual Studio 编译项目失败,提示找不到文件

?? 博客地址:http://blog.csdn.net/FoxDave 今天碰到了一个蠢问题,虽然咱们正常情况下是遇不到的,但这确实是个应该注意的地方,所以简单记录一下. Visual Studio 编译项目失败,提示找不到CS文件什么的,但是你的项目里文件明明是存在的,出现这种情况的时候看看你的项目是不是处在了一个比较深的文件夹层次目录里,由于full path太长而导致报出找不到文件的错误. 解决的办法就是把你的项目移动到一个浅的文件目录. 觉得自己太水了--

MathType找不到dll文件,原来要这样解决

对于理科工作者来说,公式编辑器是他们经常使用的,但是作为新用户,在使用的时候会遇到一些问题,比如提示找不到dll文件,那么这类问题要怎么解决呢? 专业的公式编辑器MathType获取地址:http://wm.makeding.com/iclk/?zoneid=17790 错误提示: 或者: 甚至运行时出现的: 解决方法: 步骤一 要确保路径被office信任.依次打开word->文件->选项->信任中心->信任中心设置->添加新位置,添加C:\Program Files\Mi

Cadence——每次启动软件弹出找不到license文件的提示窗口

1. 摘要 按照Cadence16.60,每次启动该软件,总弹出提示窗口,内如大致为:Orcad Capture license was not found.... 2. 解决方法 参考此链接:http://www.dabu.info/solve_the_error_prompted_the_not_find_licence_file_candece_start.html 链接作者是大步,大步's Blog » 解决candece 启动后提示找不到licence文件的错误. 以下是直接引用的全文

登录mysqlpxc报错找不到库文件libreadline.so.7

一.环境说明: 本博文的演示环境和上篇博文一致https://blog.51cto.com/wujianwei/2374588 1.1简述: 基于上篇博文,为了部署mysqlpxc集群环境,需要开启3个vmware虚拟机实例来部署3个mysqlpxc实例.第一篇博文中在初始化mysqlpxc实例后,登录实例时,报错提示: [[email protected] local]# /usr/local/mysqlpxc/bin/mysql -uroot -p mysql: error while lo