Invalid bound statement (not found)的原因以及解决方法

相信我们在学习Mybatis的时候都出现过 Invalid bound statement (not found) 这个错误,一般由以下几种可能导致这个错误

一:mapper方法名 和 mapper.xml id名不对应

例如:

mapper:

Invalid bound statement (not found)的原因以及解决方法

 对应的mapper.xml

Invalid bound statement (not found)的原因以及解决方法

这里建议小伙伴们下载一个插件,方便查看你的xml是否对应了你想对应的mapper接口

Invalid bound statement (not found)的原因以及解决方法

有了这个插件,你的接口mapper和对应的mapper.xml都会有小鸟,点一下就会 ‘飞到’ 对应的接口(或者xml)

 Invalid bound statement (not found)的原因以及解决方法

二、 mapper.xml的namespace是不是写错了

Invalid bound statement (not found)的原因以及解决方法

 这里的 namespace要写所需实现的接口的全限定性类名

三、是不是xml文件没有编译

打开target看看有没有xml文件在里面

Invalid bound statement (not found)的原因以及解决方法

没有的话就需要在pom.xml里面配置一下resource

 
        
            
                src/main/java
                
                    **/*.xml
                
            
            
                src/main/resources
                
                    **/*.xml
                    **/*.properties
                    **/*.ini
                
            
        

效果如下:Invalid bound statement (not found)的原因以及解决方法

 四、是不是resources的路径问题

主要,如果想吧mapper.xml文件写在resources下的话,新建的包要用 “ / ” 分开 而不是用 “ . ”

如:com/zhp/mapper 这个是正确的   com.zhp.mapper是错误的

如下:Invalid bound statement (not found)的原因以及解决方法

查看一下包名对不对: ​​​​​Invalid bound statement (not found)的原因以及解决方法

 Invalid bound statement (not found)的原因以及解决方法

一定得是这样的嵌套的,以下是错误示例:(创建时候用错误的用 . 而不是 / )

Invalid bound statement (not found)的原因以及解决方法

 还有,这个resources里的这个mapper包一定和src一样,以免出现不必要的错误

 

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/79ac798563.html