最近因为工作需要,要学习mybatis框架。在添加好一些依赖之后,通过mybatis进行数据库的crud操作。但是在测试的时候总是报mybatis:Invalid bound statement (not found)。在网上搜索了好久,最后终于发现了问题的所在,现在把它记录下来,供大家参考: 
 
在mapper代理的开发中,程序员需要遵守一些规范,mybatis才能实现mapper接口的代理对象。  
它的规范如下: 
 
mapper.xml的namespace要写所映射接口的全称类名。 
mapper.xml中的每个statement的id要和接口方法的方法名相同 
mapper.xml中定义的每个sql的parameterType要和接口方法的形参类型相同 
mapper.xml中定义的每个sql的resultType要和接口方法的返回值的类型相同 
mapper.xml要和对应的mapper接口在同一个包下 
mapper.xml的命名规范遵守: 接口名+Mapper.xml 
如果以上检查完毕,项目都遵守了上述的规范,而且你的项目是Maven项目。但是运行程序还是会出现Mybatis invalid bound statement(not found)的问题,这个时候就需要修改pom.xml文件了。在pom.xml中添加如下的代码: 
 
    <build>     
        <resources> 
            <resource> 
                <directory>src/main/java</directory> 
                <!-- 此配置不可缺,否则mybatis的Mapper.xml将会丢失 --> 
                <includes> 
                    <include>**/*.xml</include> 
                </includes> 
            </resource> 
            <!--指定资源的位置--> 
            <resource> 
                <directory>src/main/resources</directory> 
            </resource> 
        </resources> 
    </build> 
 
将以上代码添加到pom.xml中,运行项目,问题解决。

引用原文链接https://blog.csdn.net/qasrc6/article/details/52796323

 

 
 

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!

 
 

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

利润计算详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。