我在用紫提花和春天。我想在mysql.There中使用int值(称为‘序号’)存储Enum类型,这是一种简单的方法:
<!-- mybatis-config.xml -->
<typeHandlers>
<typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler" javaType="com.stackoverflow.MyEnumType"/>
</typeHandlers>因此,当执行select或insert sql时,自动映射程序将自动使用EnumOrdinalTypeHandler。
我的问题是:
1:如何在Spring的context.xml中像这样或任何其他方式使用它:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="typeHandlers">
...
</property>
</bean>2:如何用较少的代码(如'component-scan'或'MapperScannerConfigurer' )来配置所有枚举类型,而不需要列出每个枚举类型?
发布于 2015-07-06 01:58:08
1.通过以下方式设置您的mybatis-config.xml位置:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="mybatis-config.xml" />
</bean>2.如果使用java config,请尝试使用循环:
TypeHandlerRegistry typeHandlerRegistry = sqlSessionFactory.getObject().getConfiguration().getTypeHandlerRegistry();
for (Class<?> cls: EnumClassArrays) {
typeHandlerRegistry.register(cls, new EnumOrdinalTypeHandler<>(cls))
}https://stackoverflow.com/questions/25939370
复制相似问题