在使用mybatis框架时出现了这个错误,我的错误原因是mapper配置文件的namespace命名错误
Wrong namespace. Expected 'com.dao.UserDao' but found 'UserDao'.
此处的namespace需要绑定到你的接口,就是你的接口的全路径。
例如我的就是com.dao.UserDao
在Mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程(我也不懂啥意思,资料里是这样说的)。当你的namespace绑定接口后,就可以不用写接口实现类,Mybatis会通过该绑定自动找到对应要执行的SQL语句。
修改了namespace后我的就可以成功运行了。
下面是我查的相关资料关于Mybatis的namespace的一些运用:
有三种全路径:
namespace绑定实体类的全路径;
namespace绑定dao层接口的全路径;
namespace绑定mapper接口的sql.xml文件。
第一种:namespace绑定实体类的全路径:
当namespace绑定的是实体类的全路径时,其实现数据持久化的方式为无代理模式实现数据持久化,可以手动实现dao层的接口。
第二种:namespace绑定dao层接口的全路径:
当namespace绑定的是dao接口的全路径时,其实现数据持久化的方式为有代理模式实现数据持久化,即会自动产生代理,自动实现数据的持久化,不需要实现dao层的接口。
第三种:namespace绑定mapper接口的sql.xml文件。
当namespace绑定的是mapper接口对应的sql.xml文件时,其也是有代理模式自动实现数据持久化。
我也是小白,大家一起努力!
点赞支持,如有不对请指出!
(如有侵权,联系我删除)