面试时,好多公司问ibatis。于是,我就从mybatis开始学习这一套orm技术。自己练习着写了个小项目。遇到如下问题:
Exception in thread "main"
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in bean/User.xml
### Cause: org.apache.ibatis.builder.BuilderException: Error
parsing SQL Mapper Configuration. Cause:
org.apache.ibatis.builder.BuilderException: Error parsing Mapper
XML. Cause: org.apache.ibatis.builder.BuilderException: Error
resolving class. Cause: org.apache.ibatis.type.TypeException: Could
not resolve type alias 'User'. Cause:
java.lang.ClassNotFoundException: Cannot find class: User
at
org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:51)
at
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:35)
at
test.TestMybatis.main(TestMybatis.java:49)
Caused by: org.apache.ibatis.builder.BuilderException: Error
parsing SQL Mapper Configuration. Cause:
org.apache.ibatis.builder.BuilderException: Error parsing Mapper
XML. Cause: org.apache.ibatis.builder.BuilderException: Error
resolving class. Cause: org.apache.ibatis.type.TypeException: Could
not resolve type alias 'User'. Cause:
java.lang.ClassNotFoundException: Cannot find class: User
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:106)
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:89)
at
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:49)
... 2 more
Caused by: org.apache.ibatis.builder.BuilderException: Error
parsing Mapper XML. Cause:
org.apache.ibatis.builder.BuilderException: Error resolving class.
Cause: org.apache.ibatis.type.TypeException: Could not resolve type
alias 'User'. Cause:
java.lang.ClassNotFoundException: Cannot find class: User
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:117)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:89)
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:319)
at
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:104)
... 4 more
Caused by: org.apache.ibatis.builder.BuilderException: Error
resolving class. Cause: org.apache.ibatis.type.TypeException: Could
not resolve type alias 'User'. Cause:
java.lang.ClassNotFoundException: Cannot find class: User
at
org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:100)
at
org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:69)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:132)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:125)
at
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:115)
... 7 more
Caused by: org.apache.ibatis.type.TypeException: Could not resolve
type alias 'User'. Cause:
java.lang.ClassNotFoundException: Cannot find class: User
at
org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:114)
at
org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:127)
at
org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:98)
... 11 more
Caused by: java.lang.ClassNotFoundException: Cannot find class:
User
at
org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:188)
at
org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:87)
at
org.apache.ibatis.io.Resources.classForName(Resources.java:254)
at
org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:110)
... 13 more
一看控制台,吓我一跳,这什么玩意儿……。
解决办法:mapper配置文件的resulttype需要和mybatis配置文件中alias对应。如下:
http://s14/mw690/002KiXxjzy6Ib259Mdf7d&690遇到问题:Error parsing SQL Mapper Configuration" TITLE="mybatis 遇到问题:Error parsing SQL Mapper Configuration" />
http://s9/mw690/002KiXxjzy6Ib25zPjW58&690遇到问题:Error parsing SQL Mapper Configuration" TITLE="mybatis 遇到问题:Error parsing SQL Mapper Configuration" />
加载中,请稍候......