BindingException: Type interface xxxx is not known to the MapperRegistry.
直译:映射器注册不知道接口类型。
at org.apache.ibatis.binding.MapperRegistry.getMapper(MapperRegistry.java:47)
at org.apache.ibatis.session.Configuration.getMapper(Configuration.java:745)
at org.apache.ibatis.session.defaults.DefaultSqlSession.getMapper(DefaultSqlSession.java:292)
at com.itheima.test.MybatisTest.main(MybatisTest.java:28)
一般出现这个问题,原因是mapper映射文件的namespace属性内容和实际代理的接口类名不一致!
如图,红色框内不小心多打了一个点,在引号内编译器不报错,运行时才会报错。
如果包名很多或者类名很长容易写错的情况下,建议鼠标放置接口类名上方,右键Copy Reference复制全限定类名。
总结:映射文件的 mapper标签namespace属性的取值必须是dao 接口的全限定类名。