在Mybatis中,處理枚舉類的TypeHandler有兩個(gè):

  1. EnumTypeHandler: 用于保存枚舉名

  2. EnumOrdinalTypeHandler: 用于保存枚舉的序號(hào)。

在實(shí)際項(xiàng)目中,以上往往不能滿足我們的需求。

需求分析

枚舉需要包含兩個(gè)屬性,label(用于顯示), value(實(shí)際的枚舉值)。數(shù)據(jù)庫(kù)保存枚舉值(value)。

這很明顯Mybatis提供的兩個(gè)枚舉TypeHandler不能滿足我們的需求。此時(shí),我們可以自定義一個(gè)通用的枚舉TypeHandler來滿足我們的需求。

自定義枚舉TypeHandler

通用枚舉DisplayedEnum

public interface DisplayedEnum {

    String DEFAULT_VALUE_NAME = "value";

    String DEFAULT_LABEL_NAME = "label";   &n