在使用mybatis时在Mapper.xml中namespace写的就是接口的全限定名称,但还是会报Type interface XXX is not known to the MapperRegistry,此时只需要加一个mapper标签
错误:
org.apache.ibatis.binding.BindingException: Type interface com.chengdu.dao.UserDao is not known to the MapperRegistry.
第一种方式(推荐使用)
<mappers>
<!--一个mapper标签指定一个文件的位置
从类路径开始的路径信息,target/classes(类路径)
-->
<mapper resource="mapper文件所在的包名或者是mapper文件的全限定名称"/>
</mappers>
第二种方式
<mappers>
<mapper class="接口"/>
</mappers>
使用第二种方式时要注意
- 接口和他的Mapper配置文件必须同名!
- 接口和他的Mapper配置文件必须在同一个包下!
第三种方式:
使用扫描包进行注入绑定
<!--每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
<mappers>
<package name="com.kuang.dao"/>
</mappers>
注意点:
- 接口和他的Mapper配置文件必须同名!
- 接口和他的Mapper配置文件必须在同一个包下!
有了它就不会出现此错误,能找到类路径下的信息。