在使用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文件时,其也是有代理模式自动实现数据持久化。

我也是小白,大家一起努力!

点赞支持,如有不对请指出!

(如有侵权,联系我删除)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐