在Mybatis中,处理枚举类的TypeHandler有两个:

  1. EnumTypeHandler: 用于保存枚举名

  2. EnumOrdinalTypeHandler: 用于保存枚举的序号。

在实际项目中,以上往往不能满足我们的需求。

需求分析

枚举需要包含两个属性,label(用于显示), value(实际的枚举值)。数据库保存枚举值(value)。

这很明显Mybatis提供的两个枚举TypeHandler不能满足我们的需求。此时,我们可以自定义一个通用的枚举TypeHandler来满足我们的需求。

自定义枚举TypeHandler

通用枚举DisplayedEnum

public interface DisplayedEnum {

    String DEFAULT_VALUE_NAME = "value";

    String DEFAULT_LABEL_NAME = "label";   &n
        
		

网友评论