databaseId 不匹配导致Mybayis报错:Invalid bound statement (not found)
问题#
后端调用Mapper方法报错:Invalid bound statement (not found)
排查过程#
- 按网上方式逐一排查,都未解决问题
- 网上搜不到解决方案,只能查看源码了
- 首先定位到com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean#buildSqlSessionFactory方法
- 打上一个条件断点,定位需要分析的xml文件
- 断点一步步跟进分析,最终发现在org.apache.ibatis.builder.xml.XMLStatementBuilder#parseStatementNode方法内,databaseId未匹配上导致Statement未被解析
- 最总导致执行org.apache.ibatis.binding.MapperMethod.SqlCommand#SqlCommand方法时,在Configuration找不到对应的Statement,报:Invalid bound statement (not found):
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!