mybatis-spring& spring boot - 无法解决类型别名问题

时间:2017-09-10 14:42:26

标签: spring-boot spring-mybatis

我正在使用带有mybatis-spring 3.1的弹簧靴1.5.4。我能够通过eclipse成功运行我的应用程序。但是当我使用命令行(java -jar jarname)时,我得到以下异常。我的独立应用程序正在停止。我想移动我的应用程序以使用jar部署到不同的机器。请帮忙。

引起:org.apache.ibatis.type.TypeException:无法解析类型别名'MyClass'。原因:java.lang.ClassNotFoundException:找不到类:MyCLass         在org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:120)         在org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:149)         在org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:116)         ......还有36个

2 个答案:

答案 0 :(得分:1)

我通过转移到autoconfigure(使用spring属性)解决了同样的问题我最初在javaconfig类中配置了我的db配置(数据源,会话工厂)。我删除了配置并将配置移动到我的应用程序属性(yml格式)。  以下是我的内容

mybatis:
  typeAliasesPackage: com.wiredinformatics.preauth.domain
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/preauth?
    useSSL=false&serverTimezone=UTC
    username: myuser
    password: mypass
  dbcp2:
    driver: com.mysql.cj.jdbc.Driver
    initial-size: 2
    max-total: 10
    max-idle: 10
    min-idle: 5
    max-wait-millis: 30000
    validation-query: SELECT 1 

我还没有时间弄清楚为什么让我自己的java配置打破扫描。它在eclipse中运行正常,但在从命令行运行时失败

答案 1 :(得分:0)

我解决了这个问题!

https://github.com/mybatis/mybatipse/issues/77
@deoxyseia

  1. 除去 sessionFactoryBean.setTypeAliasesPackage( “com.your.packae.pojo”)
  2. 将resultType =“MyClass”更改为 与resultType = “com.your.packae.pojo.MyClass”
  3. 重新包装