记Mybatis核心配置文件mybatis-config.xml的调错
1.mybatis核心配置文件中的映射路径写错:
(1)Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find
resource mapper/UserMapper.xml
(2) 关键部分就是:Could not find resource mapper/UserMapper.xml。
(3) 动手除错:mybatis-config.xml文件中的映射部分的路径写错!!!
(4)注意点:这里改正之后,还要记得在相关的UserMapper.xml 文件中的<mapper></mapper>标签中的namespace属性写入正确的相关接口类的路径名,如果写错为pojo类的文件路径,则会报错,下面会讲。
2.namespace属性值写错: org.apache.ibatis.binding.BindingException: Type interface com.bdqn.kgc.mapper.UserMapper is not known to the MapperRegistry.
(1)
(2)接口类的xml文件中,mapper标签的namespace属性值要写成这个接口类的文件路径:
com.bdqn.kgc.mapper.UserMapper
,而且不要加文件后缀名!!!
(3)当然,如果namespace属性值写的不全,也会报这个错:
3. 最关键报错部分(调试了很久才发现错在这):不能找到目标类文件路径
(1)上面将mybatis核心配置文件mybatis-config.xml的映射部分mapper与接口类的xml文件的mapper标签的namespace属性值写好接口类路径后,还是出现了一个错误,而且是更加难以发现的错误:
Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause:
org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.
The XML location is ‘com/bdqn/kgc/mapper/UserMapper.xml’. Cause:
org.apache.ibatis.builder.BuilderException: Error resolving class.
Cause: org.apache.ibatis.type.TypeException:Could not resolve type alias 'pojo.Smbms_user'. Cause: java.lang.ClassNotFoundException: Cannot find class: pojo.Smbms_user
(2)很明显,上面报错还挺详细的:不能找到pojo.Smbms_user类,说明可能是写错了类名,resultType的值写错了。。。(3)尝试解决: 将数据库语句的那个select标签的resultType属性值改为
com.bdqn.kgc.pojo.Smbms_user
后就可以了!!!(老天,我终于解决了这个报错问题(´ο`*)))唉)