2012-05-25 134 views
1

我正在開發基於Mybatis 3.0.5,Mybatis-spring 1.0.1和Spring 3.0.5.RELEASE的Java EE應用程序,並且我在mybatis-config.xml中發現了一個使用別名的問題。跟蹤是:Mybatis配置類型別名

org.springframework.beans.factory.BeanCreationException:
錯誤創建名稱爲豆 '的SqlSessionFactory' 在ServletContext的資源[/WEB-INF/applicationContext.xml的]定義:
的init調用方法失敗;嵌套的異常是org.springframework.core.NestedIOException:
無法解析配置資源:class path resource [mybatis-config.xml];嵌套異常是org.apache.ibatis.builder.BuilderException:
解析SQL映射器配置時出錯。原因:org.apache.ibatis.builder.BuilderException:
爲'accesoUsuario'註冊typeAlias時出錯。原因:拋出java.lang.ClassNotFoundException:
找不到類:包裝省略BY ME] .AccesoUsuario

我怎樣才能解決這個問題呢?

這是我的mybatis-config.xml(MYPACKAGE = es.my.package)。

<settings> 
    <setting name="lazyLoadingEnabled" value="false" /> 
    </settings> 

<typeAliases> 
    <typeAlias alias="accesoUsuario" type="MYPACKAGE.persistencia.entidades.AccesoUsuario" /> 
    <typeAlias alias="agrupacion" type="MYPACKAGE.persistencia.entidades.Agrupacion" /> 
    <typeAlias alias="consulta" type="MYPACKAGE.persistencia.entidades.Consulta" /> 
    <typeAlias alias="consultaDim" type="MYPACKAGE.persistencia.entidades.ConsultaDim" /> 
    <typeAlias alias="consultaFiltro" type="MYPACKAGE.persistencia.entidades.ConsultaFiltro" /> 
    <typeAlias alias="dato" type="MYPACKAGE.persistencia.entidades.Dato" /> 
    <typeAlias alias="dimension" type="MYPACKAGE.persistencia.entidades.Dimension" /> 
      <typeAlias alias="dominio" type="MYPACKAGE.persistencia.entidades.Dominio" /> 
      <typeAlias alias="dominioDep" type="MYPACKAGE.persistencia.entidades.DominioDep" /> 
      <typeAlias alias="entidad" type="MYPACKAGE.persistencia.entidades.Entidad" /> 
    <typeAlias alias="error" type="MYPACKAGE.persistencia.entidades.ErrorProceso" /> 
    <typeAlias alias="informe" type="MYPACKAGE.persistencia.entidades.Informe" /> 
    <typeAlias alias="informeCabecera" type="MYPACKAGE.persistencia.entidades.InformeCabecera" /> 
    <typeAlias alias="informeSeccion" type="MYPACKAGE.persistencia.entidades.InformeSeccion" /> 
    <typeAlias alias="restriVariable" type="MYPACKAGE.persistencia.entidades.RestriVariable" /> 
    <typeAlias alias="usuario" type="MYPACKAGE.persistencia.entidades.Usuario" /> 
    <!-- ... --> 
      <typeAlias alias="cadena" type="java.lang.String" /> 
</typeAliases> 
+0

請將您的映射發佈到mybatis-config.xml文件中。 – Seth

回答

0

沒有看到一些實際的源代碼,我懷疑我們可以找出任何錯誤,但它可能有助於take a look at this example on DZone

他們特別指出的一件事是,如果您不遵循mybatis-config.xml文件中的正確順序,它可能會導致異常。這可能是因爲某個文件中的錯誤位置。

如果你想發佈更多的代碼,我可以嘗試提供更多幫助。

0

您的軟件包不適用於myBatis。您需要使用配置來定義它:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 
    <property name="basePackage" value="es.your.packacke"/> 
</bean> 
+0

再次嗨!感謝您的建議@jddsantaella,但我的應用程序中已經有了這個bean -Context.xml。下面是: <屬性名= 「basePackage」 值= 「es.my.package.persistencia.dao」/> – vicmonmena

+1

嘗試移除類型accesoUsuario「,」agrupacion「等類型的別名。因爲別名是自動完成的,所以我不認爲這些是必要的。 – jddsantaella