springboot整合mybatis出现Invalid bound statement (not found)

springboot整合mybatis出现Invalid bound statement (not found)

出现这个异常不要慌,博主带你分析一下这个错误的罪恶源头和解决方案

一:罪恶源头:出现这个异常是因为数据访问层中的mapper接口和对应的xml文件无法映射 无法映射的原因有: 1,可能因为xml文件中的namespace属性值路径和你接口的路径不一致 ![在这里插入图片描述](https://img-blog.img.cn/20210515214308174.png 解决方案:这个地方的namespace的路径和你接口的路径一定要保持一致

排查一下你项目的target部署文件中的classes目录 是否有你对应的xml文件 如果没有!!!肯定运行时找不到映射文件了 解决方案:在pom.xml文件中添加如下代码

<resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

3.博主亲自踩坑,在springboot主配置文件也就是项目自动生成的application.properties文件中添加如下代码

mybatis.typeAliasesPackage=com.smbms.mybatis.popj
mybatis.mapperLocations=classpath:mapper/*.xml

mybatis.typeAliasesPackage对应的是你自己项目中的实体类路径 mybatis.mapperLocations可以理解为扫描后面路径的xml文件

总结,按照以上3步排查和解决基本上可以解决问题 如果道友们还没有解决的话也可以评论区讨论一下

经验分享 程序员 微信小程序 职场和发展