今天在mybatis学习中遇到了这个问题,简单记录一下。
一般出现这种情况来说,都是在mybatis中mapper接口与mapper配置文件在做映射绑定的时候出现问题,就是接口与xml找不到,或者是找到了却匹配不到。
我检查了包名和文件名都一致,又去config配置文件查看
这里面的包名也没有出现问题。
后来查到一篇文章,才发现是我resources下的包名有问题。
idea会自动隐藏空文件夹,在建包的时候可以直接用点分隔包,但是在resources目录下这样建包不行,而会把逐级空文件夹的点分隔符给直接解析成文件夹名字,所以在建包时需要使用 / 做分隔符。
我删掉原来的包重新建包,把mapper.xml文件都转移进去。
重新运行,问题解决。
我是看到这篇文章才发现错误的,可以去原文看一下。
总结:
遇到这种情况可以先查看包名文件名是否一致,以及配置文件是否写错,再打开项目的目录观察。idea在Java下创建目录时可以用.(点号)分割, 但是resources目录下不行,需要用 / 分隔。