学无先后,达者为师

网站首页 编程语言 正文

tk mybatis报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解决方案

作者:DangerShi 更新时间: 2022-07-12 编程语言

背景:

在应用A中引入组内另一个应用B的SDK时,出现该报错,而且有一个比较奇怪的现象:使用mybatis内置的方法(比如selectByPrimaryKey,selectByExample之类)时,功能正常,不报错,但是如果调用的dao方法是自己在mapper.xml中写的sql,就会出现标题中的错误。

解决方案:

网上的各种方法并不适用于该情况,经过检查,application.properties和mybatis-config.xml之类的配置文件中配置都正常;并且该问题是在引入新的sdk时才出现的,未引入该sdk时,并不会出现该错误。所以推断是引入的sdk中的mybatis配置覆盖了项目中原本的配置,导致项目找不到自己的mapper。

最终经过检查,引入的sdk的pom中有引入另外一个带有mapper配置的jar(该jar包是sdk所属应用B中的一个模块),该模块中配置了应用B的mybatis的mapper配置;实际上该sdk并不需要依赖应用B中的这个模块,所以去掉了sdk中该模块的pom依赖,重新发布sdk后,解决该问题。

原文链接:https://blog.csdn.net/jian876601394/article/details/122329168

栏目分类
最近更新