解决问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
在使用springboot集成mybatis时,可能会遇到这个问题。
出现这个问题的原因一般是:
-
Mapper interface和xml文件的定义对应不上(需要检查包名,namespace)
-
函数名称等能否对应不上(需要比较细致的对比,经常就写错了一两个字母搞的很长时间找不到错误)
解决的思路一般是:
-
检查xml文件所在的package名称是否和interface对应的package名称一一对应
-
检查xml文件的namespace是否和xml文件的package名称一一对应
-
检查函数名称能否对应上
-
去掉xml文件中的中文注释
-
随意在xml文件中加一个空格或者空行然后保存
因为它可能是因为 xml文件的编译问题。
可以对比下编译前和编译后的文件。
确定是 没有将xml文件编译进去,那怎样解决呢?
-
解决方式一:把*Mapper.xml文件放到resource文件夹下管理
-
解决方式二:在pom.xml中的build的标签中加入以下内容:
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> <filtering>true</filtering> </resource> </resources>
参考:https://www.jianshu.com/p/2bd1e5313b66
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2019-10-31 微服务之部署