MyBatis绑定错误:Invalid bound statement (not found)

来源:互联网 发布:tensorflow 图片分割 编辑:程序博客网 时间:2024/05/19 14:02

如果出现:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上,需要比较细致的对比

按以下步骤一一执行:

1:检查xml文件所在的package名称是否和interface对应的package名称一一对应

2:检查xml文件的namespace是否和xml文件的package名称一一对应

3:检查函数名称能否对应上


除此之外,我遇到的还有一些特殊情况,耽误了我不少时间:

1:Intellij Idea 的包名和目录名生成机制,新建一个包a.b.c.d,目录结构不是a->b->c->d,而是生成"a.b.c.d"的目录,进而导致mybatis映射错误,此错误很难排查;

2:   xml文件定义如下: <select id="countMembers" parameterMap="java.util.Map" resultType="java.lang.Integer">

parameterMap用错,应该为parameterType,此错误会导致mybatis所有的mapper都报绑定错误,很坑

mybatis的异常机制做的太差了,给排错造成很大困难,仅此记录。

0 0