mybatis错误:Invalid bound statement (not found)

来源:互联网 发布:虚拟linux系统界面 编辑:程序博客网 时间:2024/05/19 12:37

今天向往常一样搭建一个spring-mybatis项目时,由于一开始dao 的路径写错了,于是手动修改路径,直接创建了一个叫com.XX.XX.XX的路径。启动项目的时候,总是报错。

Exception in thread "main" java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bm.delay.dao.DelayJobMapper.insert
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.bm.delay.dao.DelayJobMapper.insert
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.$Proxy82.insert(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

仔细检查了项目的Mapper.xml,以及Mapper.java,都没有问题,Mapper的namespace都是正确的,错误很诡异。

后来去项目的文件夹中看了一下,发现了问题所在:mapper的文件夹每个都是一个独立的文件夹,即:com -> XX -> XX -> XX,而我手动改过后,mapper.xml的路径变为一个整个的com.XX.XX.XX文件夹,所以导致报错了。把项目中整个的路径删除,然后手动一个一个分别建路径后,虽然肉眼看上去,IDEA自动合并成com.XX.XX.XX,但实际文件夹中已经是多个文件夹层层嵌套了,改过了,项目正常运行了。记录一下这个诡异的问题,供大家参考。



阅读全文
0 0