■ 開發(fā)步驟
||? 編寫枚舉類
// @JsonFormat解決枚舉類返回前端只展示構(gòu)造器名稱的問題
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum SexEnum implements IEnum<Integer> {
WOMAN(0, "女"),
MAN(1, "男"),
SECRET (2, "保密");
……
}
||? 標(biāo)注實(shí)體屬性
@TableName(value = "user")
public class User {
……
@TableField
@JSONField(serialzeFeatures= SerializerFeature.WriteEnumUsingToString)
@ApiModelProperty(value = "性別霉赡,0女1男2未知暇藏,通過SexEnum直接返回字符描述")
public SexEnum sex;
……
}
||? 配置掃描枚舉
mybatis-plus:
# 配置文件掃描枚舉报强;支持通配符 *姿现,使用 ; 分割
typeEnumsPackage: org.nju.common.core.constant
||? 配置MP配置類
@Configuration
//@MapperScan("org.nju.user.dao")
public class MybatisPlusConfiguration {
……
@Bean
public MybatisPlusPropertiesCustomizer mybatisPlusPropertiesCustomizer() {
// 序列化枚舉值為數(shù)據(jù)庫存儲值
FastJsonConfig config = new FastJsonConfig();
config.setSerializerFeatures(SerializerFeature.WriteEnumUsingToString);
return properties -> {
GlobalConfig globalConfig = properties.getGlobalConfig();
globalConfig.setBanner(false);
MybatisConfiguration configuration = new MybatisConfiguration();
configuration.setDefaultEnumTypeHandler(MybatisEnumTypeHandler.class);
properties.setConfiguration(configuration);
};
}
}
||? 測試
@Test
public void testSelectById() {
User entity = userMapper.selectById("63c76b66fe2c473f435515514f207165");
System.out.println(entity);
}