springboot~mybatis-plus列舉到資料庫整型欄位
阿新 • • 發佈:2022-03-31
- 資料庫欄位為int型別
- 實體欄位為了可讀性強,使用列舉型別
預設情況
- 一般來說,資料庫為varchar時,你的列舉元素直接會進行轉換
欄位為整型
- 這些如果你是mybatis-plus,可以使用如下default-enum-type-handler引數開啟@EnumValue特性,將每句的@EnumValue註釋的欄位新增到資料表字段中。
測試
- 列舉
public enum ModuleType implements NameValueEnum { LOGIN(0, "登入"), LOGOUT(1, "登出"); @EnumValue private Integer code; @JsonValue private String name; ModuleType(Integer code, String name) { this.code = code; this.name = name; } @Override public String getName() { return name; } @Override public Integer getValue() { return code; } }
- 實體
@Data
@Builder
public class OperatorLog {
private String id;
private String dataId;
private String dataTitle;
/**
* 模組型別
*/
private ModuleType moduleType;
private String content;
/**
* 操作型別
*/
private OperateType operateType;
}
- 配置
mybatis-plus: default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler
- 結果