关于mybatis “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误的问题。
2016-05-09 11:05
1231 查看
关于mybatis “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误的问题。
最近从eclipse转到intellij idea,确实比eclipse好用太多,但是也是各种不熟悉,导致了很多问题,本来搭好的maven+ssm框架在eclipse上能用,迁移到idea中是各种问题,一一解决之后就剩下这个问题。org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) : org.dao.UserDao.selectByPrimaryKey,意思是我的mapper和dao的映射和接口绑定有问题。我的spring和mybatis整合配置如下:
但我的mapper和dao中是一一对应的,所以我的问题不在这儿。
Junit测试一直是红色的一条,这个问题让我头疼,网上看了很多资料最后发现是intellij idea的问题,在eclipse中把mapper的xml文件放到src代码目录下是可以一起打包进classes的,而在新版intellij idea中是不会一起打包,就会导致找不到xml报错。
首先确保xml中的namespace配置是你的接口全类名,而不是包名!
确认dao接口中的方法,和xml中一一对应,返回类型,参数都正确。
解决方法
第一种,由于idea默认是不打包src中的xml文件,所以在eclipse中你可以把xml放到src中没有问题,但是在idea中,你把mapper的xml文件放到resources资源中就可以正常访问!第二种 在maven配置maven对资源文件的访问,具体做法:在pom中,build节点中加入
总结
以上两种方法个人在intellij idea中亲测成功。Junit测试通过。看着那一条变成绿色,log4j日志打印成功,整个人都轻松了。
文章为个人总结,只是想给遇到相同问题的朋友一个帮助,如有老司机觉得不对的,请指出,欢迎大家一起交流。
相关文章推荐
- CentOS 配置Apache+Mysql+PHP
- centos下 Apache、php、mysql默认安装路径
- 20160509-有一次整理下Java apache commons那个反序列化漏洞的原理
- 为何使用Asp.net开发,部署我却选择Apache而不用IIS
- hadoop Apache版本的启动命令
- Apache kafka 工作原理介绍(作者原创文章已发表在IBM开发者论坛)
- Error: Could not find or load main class org.apache.hadoop.hdfs.server.namenode.NameNode
- 《Apache Cocoon2.2 学习》第一章:初识cocoon
- apache-jmeter-2.12免安装版+jdk1.6.0_02配置
- 一篇关于apache commons类库的介绍
- apache+mysql+php网站访问慢,重启就好了~如何解决
- 修改apache的默认访问目录
- Ubuntu下安装apache
- linux下Apache+Svn环境搭建(五)
- 重要开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
- 细说apache的安全设置
- centos7 apache 虚拟目录 You don't have permission to access / on this server 解决方法
- php 在centos7 apache中的安装配置
- spring 集成apache qpid 简单demo
- 《Apache Kafka》学习笔记