databaseId 不匹配导致Mybayis报错:Invalid bound statement (not found)

问题#

后端调用Mapper方法报错:Invalid bound statement (not found)

排查过程#

  1. 按网上方式逐一排查,都未解决问题
  2. 网上搜不到解决方案,只能查看源码了
  3. 首先定位到com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean#buildSqlSessionFactory方法
  4. 打上一个条件断点,定位需要分析的xml文件
  5. 断点一步步跟进分析,最终发现在org.apache.ibatis.builder.xml.XMLStatementBuilder#parseStatementNode方法内,databaseId未匹配上导致Statement未被解析
  6. 最总导致执行org.apache.ibatis.binding.MapperMethod.SqlCommand#SqlCommand方法时,在Configuration找不到对应的Statement,报:Invalid bound statement (not found):

原因#

xml文件里,定义了databaseId导致不匹配,删除即可

posted @   风一样的码农  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示
CONTENTS