2017-06-22 63 views
1

私は現在SpringbootでMybatisを使用しています。私はmybatis-config.xmlを追加しなかった。私はこれができmybatis-spring-bootのEnumOrdinalTypeHandlerのマッピング方法は?

Caused by: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'gender' from result set. 
Cause: java.lang.IllegalArgumentException: No enum constant com.mycom.myproducts.mywebsite.config.bean.config.UserBean.Gender.0 

を問題はMyBatisのが私の列挙型のためにマップすることはできませんです

### Database Configuration 
spring.datasource.url=jdbc:sqlserver://localhost;databaseName=mywebsite;catalogName=mywebsite 
spring.datasource.username=sa 
spring.datasource.password=root 
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver 

### Mybatis Configurations ### 
mybatis.type-aliases-package=com.mycom.myproducts.mywebsite.config.bean 
mybatis.type-handlers-package=org.apache.ibatis.type.EnumOrdinalTypeHandler 
mybatis.mapperLocations=classpath:mybatis/mapper/**/*.xml 
mybatis.configuration.default-fetch-size=100 
mybatis.configuration.default-statement-timeout=30 

以下のよう mybatis-spring-boot-autoconfigureの指示からapplication.propertiesを経由してデータソースとMyBatisのためのすべての設定を行うと、エラーショー

<typeHandlers> 
     <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler" javaType="com.mycom.myproducts.mywebsite.config.bean.config.UserBean$Gender"/> 
    </typeHandlers> 

mybatis-config.xmlによって固定されているが、私は、これはによって行うことができるかわかりませんファイル?

答えて

1

TypeHandlerクラスの代わりにパッケージを直接指定する必要があります。

ですから、次のようにそれを使用することができます。

mybatis.type-handlers-package=org.apache.ibatis.type 

マニュアルページには、型の別名を検索する型ハンドラ・パッケージ GETパッケージ言います。

タイプハンドラパッケージタイプハンドラを検索するパッケージ。 (パッケージ 区切り記号は "、; \ t \ n")

+0

こんにちは!ありがとうございました...私はこれがうまくいくと思いますが、例外があります '原因:org.apache.ibatis.type.TypeException:org.apache.ibatis.type.UnknownTypeHandler'クラスで使用可能なコンストラクタを見つけることができません。 '原因:java.lang.NoSuchMethodException:org.apache.ibatis.type.UnknownTypeHandler。 () '私は何をすべきか ?敬具。 – Cataclysm

+0

実用的なサンプルコードについて記述できますか?親切に.... – Cataclysm

関連する問題