MyBatis+Spring 遇到问题,求帮助
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.mk.dao.EmpDAO.findAll
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:184)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:38)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:49)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:42)
at com.sun.proxy.$Proxy10.findAll(Unknown Source)
at com.mk.test.TestEmp.testFindAll(TestEmp.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(23)
xml 里面有没有ID为findAll 这个的 自己配置的问题 仔细检查下就行
仔细看了下配置文件,里面配置错了一个地方,namespace="com.mk.dao.EmpDAO"这地方个写错了,然后找不到findAll ,谢谢啦
恩恩,配置 文件 namespace="com.mk.dao.EmpDAO"这地方个写错了 ,谢谢啦
是配置文件指定的有问题,没有找到mapper配置文件
findAll这个配置里没有找到你#的属性
xml中数据类型是不是存在问题
恩,这个是一个开源项目是吧
@Think_MK 是的
配置文件指定的有问题,没有找到mapper配置文件
参考http://git.oschina.net/iBase4J/iBase4J
com.mk.dao.EmpDAO.findAll 对应的mapper sql 有问题
<mapper namespace="com.mk.dao.EmpDAO"> <select id="findAll" resultType="com.mk.entity.Emp"> select * from t_emp </select> </mapper> 这个地方的namespace 指定的不对
具体代码合配置贴一下吧,不然很难发现有什么问题。
提问的人看这个就行了
谢谢啦,配置文件 namespace="com.mk.dao.EmpDAO"搞错了,找不到对应的映射文件了
回复
恩恩
Invalid bound statement (not found) Mapper接口中的方法在xml里没找到对应的方法
对,是配置文件的问题,namespace="com.mk.dao.EmpDAO"这地方个写错了,也就是在配置文件里找不到这个接口的映射文件,无法完成操作了
我也碰到这个问题 感觉是配置文件没有生效 应该是没配置对
我改成纯注解了,纯注解没有问题
恩恩,配置文件namespace="com.mk.dao.EmpDAO"写错了
估计是接口和配置文件的名字没有一致
恩,是的, 配置文件n amespace="com.mk.dao.EmpDAO"这地方个写错了, 找不到配置文件,就找不到这个方法,报错了 谢谢
xml中对应的记录不存在com.mk.dao.EmpDAO.findAll