报错:
可能引起原因:
-
mapper配置文件没有加载到;
解决:两种加载xml映射文件的方式都试一遍! -
查看编译后文件(如果没有xml文件说明mybatis或者maven没有加载到)
解决:告诉maven打包带上xml文件
-
可能是maven目录结构问题,检查目录是否合乎maven规范
-
可能是sql的xml文件的 id属性绑定的值与方法的ID不相同
mybatis初始化时,会把sql的id作为key,sql作为值,放到一个map里,待到执行的时候,根据方法名去map里获取sql。如果此时方法名和sql的id不一致,就获取不到对应的sql。所以必须一致
注意! 如果使用package引入mapper文件
这种情况下,如果是非注解模式的话xml配置文件必须也处于同一级 package 下,且与Mapper类同名