带有typeAliases的Mybatis配置

时间:2012-05-25 13:32:47

标签: spring mybatis

我正在开发基于Mybatis 3.0.5,Mybatis-spring 1.0.1和Spring 3.0.5.RELEASE的Java EE应用程序,我发现在mybatis-config.xml中使用Alias存在问题。跟踪是:

  

org.springframework.beans.factory.BeanCreationException:
      在ServletContext资源[/WEB-INF/applicationContext.xml]中定义名称为“sqlSessionFactory”的bean创建时出错:
      调用init方法失败;嵌套异常是org.springframework.core.NestedIOException:
      无法解析配置资源:类路径资源[mybatis-config.xml];嵌套异常是org.apache.ibatis.builder.BuilderException:
      解析SQL Mapper配置时出错。原因:org.apache.ibatis.builder.BuilderException:
      为“accesoUsuario”注册typeAlias时出错。原因:java.lang.ClassNotFoundException:
      找不到课程:[包括我在内] .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>

2 个答案:

答案 0 :(得分:0)

如果没有看到一些实际的源代码,我怀疑我们可以查明任何错误,但它可能有助于take a look at this example on DZone

他们特别指出的一点是,如果你没有在mybatis-config.xml文件中遵循正确的顺序,它可能会导致异常。可能是某个东西只是在该文件中的错误位置。

如果您想发布更多代码,我可以尝试提供更多帮助。

答案 1 :(得分:0)

您的套餐不适用于myBatis。您需要使用配置来定义它:

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