当前位置:

已解决. Cause: org.apache.ibatis.builder.BuilderException:问题

访客 2024-01-29 432 0

本博文源于自己所学习的mybatis,在遇到###Cause:org.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ErrorparsingMapperXML.TheXMLlocationis‘mappers/EmpMapper.xml’.Cause:org.apache.ibatis.builder.BuilderException:Errorresolvingclass.Cause:org.apache.ibatis.type.TypeException:Couldnotresolvetypealias‘Emp’.Cause:java.lang.ClassNotFoundException:Cannotfindclass:Emp有点手足无措

问题起源

在学习的时候,发现配置了config、mapper与接口java文件时,想要运行test文件,结果报了一个这样的错,原错误如下

org.apache.ibatis.exceptions.PersistenceException:###ErrorbuildingSqlSession.###Theerrormayexistinmappers/EmpMapper.xml###Cause:org.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ErrorparsingMapperXML.TheXMLlocationis'mappers/EmpMapper.xml'.Cause:org.apache.ibatis.builder.BuilderException:Errorresolvingclass.Cause:org.apache.ibatis.type.TypeException:Couldnotresolvetypealias'Emp'.Cause:java.lang.ClassNotFoundException:Cannotfindclass:Empatorg.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)atorg.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)atorg.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:64)atcom.atguigu.mybatis.utils.SqlSessionUtils.getSqlSession(SqlSessionUtils.java:17)atResultMapTest.testGetAllEmp(ResultMapTest.java:13)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:290)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:58)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)atorg.junit.runners.ParentRunner.run(ParentRunner.java:363)atorg.junit.runner.JUnitCore.run(JUnitCore.java:137)atcom.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)atcom.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)atcom.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)atcom.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)Causedby:org.apache.ibatis.builder.BuilderException:ErrorparsingSQLMapperConfiguration.Cause:org.apache.ibatis.builder.BuilderException:ErrorparsingMapperXML.TheXMLlocationis'mappers/EmpMapper.xml'.Cause:org.apache.ibatis.builder.BuilderException:Errorresolvingclass.Cause:org.apache.ibatis.type.TypeException:Couldnotresolvetypealias'Emp'.Cause:java.lang.ClassNotFoundException:Cannotfindclass:Empatorg.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:122)atorg.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:99)atorg.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:78)...25moreCausedby:org.apache.ibatis.builder.BuilderException:ErrorparsingMapperXML.TheXMLlocationis'mappers/EmpMapper.xml'.Cause:org.apache.ibatis.builder.BuilderException:Errorresolvingclass.Cause:org.apache.ibatis.type.TypeException:Couldnotresolvetypealias'Emp'.Cause:java.lang.ClassNotFoundException:Cannotfindclass:Empatorg.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:123)atorg.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95)atorg.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:378)atorg.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:120)...27moreCausedby:org.apache.ibatis.builder.BuilderException:Errorresolvingclass.Cause:org.apache.ibatis.type.TypeException:Couldnotresolvetypealias'Emp'.Cause:java.lang.ClassNotFoundException:Cannotfindclass:Empatorg.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:118)atorg.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:102)atorg.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:138)atorg.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:131)atorg.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:121)...30moreCausedby:org.apache.ibatis.type.TypeException:Couldnotresolvetypealias'Emp'.Cause:java.lang.ClassNotFoundException:Cannotfindclass:Empatorg.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:120)atorg.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:149)atorg.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:116)...34moreCausedby:java.lang.ClassNotFoundException:Cannotfindclass:Empatorg.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:196)atorg.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)atorg.apache.ibatis.io.Resources.classForName(Resources.java:261)atorg.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:116)...36more

问题解决方案

解决方案是改动mapper.xml里的resulttype

改成全类名就行了。

发表评论

  • 评论列表
还没有人评论,快来抢沙发吧~