maven项目使用mybatis时,找不到mapper文件(.xml)

错误信息提示:

项目可以正常运行,但是在有请求到达服务器时(有访问数据库的请求),会出现报错!!
错误原因:
  • mybatis没有找到对应的请求调用持久层的方法

查错方法:

首先检查target-->classes文件夹被dao层文件夹内是否有对应mapper.xml文件,如果有xml文件,则一般是配置文件出现的错误,如果没有xml类型的文件,则是没有拷贝资源文件的原因。下面是对应的解决方法。

1.名称不一致问题

排查步骤:
  • 检查mapper接口与mapper.xml文件名称是否一致

  • mapper.xml里面指定的namespace是否是mapper接口,名称是否正确

  • mapper接口内的方法名时候与mapper.xml文件中的id对应

  • 检查mybatis配置文件(SqlMapConfig.xml)与spring配置文件指定的名称是否一致

  • web.xml配置文件中指定的spring配置文件名称是否与真实的spring配置文件的名称路径一致

2. 默认拷贝资源文件无效的问题(target目录下的classes文件夹内没有对应的mapper.xml)---默认不拷贝src/main/java下面的配置文件

解决方案【以下三种方案选一种即可】(ecplise):
  • 项目名--右击--build path--config build path--source--src/main/java--out.....---edit---add---**/*.xml

推荐下面方式,ecplise和idea都可使用
  • pom.xml文件中 添加资源文件拷贝插件 添加自定义的资源文件拷贝行为(如果配置src/main/java的拷贝行为,会导致默认的拷贝行为失效,即不再拷贝src/main/resouce文件夹内的位置文件,应该将两个都拷贝行为都配置一下)

    <!-- 资源文件拷贝插件 -->
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <configuration>
    <encoding>UTF-8</encoding>
    </configuration>
    </plugin>

<!-- 资源文件拷贝插件 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
  • 将mapper接口和mapper.xml文件分开 在resouce文件夹内模仿mapper接口文件层次创建文件夹,将mapper.xml文件放在里面,编译输出时,会输出在target目录下的同一位置

温馨提示:使用IDEA将会避免大部分问题,IDEA真香!!!

Maven项目使用mybatis报错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):的更多相关文章

  1. maven 项目报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)解决

    idea在使用maven构建的项目中使用mybatis时报错org.apache.ibatis.binding.BindingException: Invalid bound statement (n ...

  2. maven项目 报错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    ssm的项目如果在mapper.xml  mapper接口 配置没问题的情况下  项目依然报org.apache.ibatis.binding.BindingException: Invalid bo ...

  3. 项目启动报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.wuhongyu.mapper.OrdersMapper.selectByExample

    在用maven配置mybatis环境时出现此BindingExceptiony异常,发现在classes文件下没有mapper配置文件,应该是maven项目没有扫描到mapper包下的xml文件, 在 ...

  4. mybatis plus 报错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 少了个范型

  5. Srping mvc mabatis 报错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    我的Mapper采用接口+注解的方式注入 @Repository(value="customerServOutCallMapper")public interface Custom ...

  6. mybatis错误之org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    玩了MyBatis差不多有两年了,中间也玩过MyBatis-Plus,这个MyBatis-Plus其实与MyBatis的区别并不大.今天写博客业务代码的时候,犯一个初学者犯过的错误. 错误信息如下:o ...

  7. mybatis使用时org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):的错误

    最近在使用mybatis时,出现了 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 这 ...

  8. 使用maven整合mybatis时出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    分析原因是mybatis的映射文件的问题,首先进行分析排查: 1.检查mapper接口和对应的xml文件的包名是否对应 2.检查xml文件的namespace与mapper接口的包名是否对应 3.检查 ...

  9. 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)...

    在IDEA中将xxxMapper.xml文件创建在(src/main/java)目录中,运行报错:org.apache.ibatis.binding.BindingException: Invalid ...

随机推荐

  1. Dropzone.js拖拽上传(简单示例)

    今天碰到一个需求,页面上有“点击上传”的按钮,点击可以执行上传事件,从桌面拖拽图片拖拽到任何地方,都可以执行上传,且不影响点击按钮事件.下面是简单示例: 简单示例如下: <!DOCTYPE ht ...

  2. 使用生成对抗网络(GAN)生成手写字

    先放结果 这是通过GAN迭代训练30W次,耗时3小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...

  3. 【跟唐老师学习云网络】 - 第6篇 ARP你在哪

    [摘要] 这一章节你的角色就是ping报文这个"使者",你要去往目的地,然后回到本机.然而目的地路漫漫,不知道要经过多少个小地盘(局域网),没两把刷子也不好行走江湖.所以你作为使者 ...

  4. 转:关于java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication的解决

    在这个控制板中,出现了这个问题 java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication 虽然明显知道是 ...

  5. 可能是全网最简单的 OpenStack 安装方式

    OpenStack 因为架构复杂,配置较多,一向以安装部署过程困难闻名.虽然 OpenStack 社区前后涌现出了很多的自动化部署工具,但是对于普通用户,特别是新人来说,上手仍然有难度. 使用本文介绍 ...

  6. 创建自己的github仓库

    作者: wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/20067595 一.创建自己的github仓库 CocoaPods都托 ...

  7. Create an Embedded Framework in Xcode with Swift

    转自:http://zappdesigntemplates.com/create-an-embedded-framework-in-xcode-with-swift/ Post Series: Cre ...

  8. Java修炼——基于TCP协议的Socket编程_双向通信_实现模拟用户登录

    首先我们需要客户端和服务器端. 服务器端需要:1.创建ServerSocket对象.2.监听客户端的请求数据.3.获取输入流(对象流)即用户在客户端所发过来的信息.                  ...

  9. python数学工具(一)

    python  数学工具包括: 1.函数的逼近 1.1.回归 1.2.插值 2.凸优化3.积分4.符号数学 本文介绍函数的逼近的回归方法 1.作为基函数的单项式 对函数 的拟合 首先定义函数并且可视化 ...

  10. Java中跳出多重嵌套循环的方法

    一.使用标号 1.多重嵌套循环前定义一个标号 2.里层循环的代码中使用带有标号 break 的语句 public static void main(String[] args) { ok: for(i ...