Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection do

报错:
在这里插入图片描述
可能引起原因:

  1. mapper配置文件没有加载到;
    在这里插入图片描述
    解决:两种加载xml映射文件的方式都试一遍!

  2. 查看编译后文件(如果没有xml文件说明mybatis或者maven没有加载到)
    在这里插入图片描述
    解决:告诉maven打包带上xml文件
    在这里插入图片描述

  3. 可能是maven目录结构问题,检查目录是否合乎maven规范

  4. 可能是sql的xml文件的 id属性绑定的值与方法的ID不相同

mybatis初始化时,会把sql的id作为key,sql作为值,放到一个map里,待到执行的时候,根据方法名去map里获取sql。如果此时方法名和sql的id不一致,就获取不到对应的sql。所以必须一致

在这里插入图片描述

注意! 如果使用package引入mapper文件

这种情况下,如果是非注解模式的话xml配置文件必须也处于同一级 package 下,且与Mapper类同名
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44313584/article/details/115022487