将数据库中查询的 alarm_type (tiny int类型)转换为java的AlarmTypeEnum类型AlarmTypeEnum字段1、要转换的枚举定义
import java.util.Arrays;import java.util.HashMap;import java.util.Map;
/**
* 告警类型
* ⽬前⽀持邮件告警和,短信告警 */
public enum AlarmTypeEnum { /**
* 短信告警 */
SMS((short) 1), /**
* 邮件告警 */
EMAIL((short) 2);
/**
* 数据库中存储的码号,号码不能重复(注意此处应code和数据库中的⼀致) */
private short code;
private static Map alarmTypes = new HashMap<>(); AlarmTypeEnum[] values = AlarmTypeEnum.values(); Arrays.stream(values).forEach(alarmTypeEnum -> alarmTypes.put(alarmTypeEnum.getCode(), alarmTypeEnum)); } AlarmTypeEnum(short code) { this.code = code; } public short getCode() { return code; } public static AlarmTypeEnum parseCode(short code) { return alarmTypes.get(code); } public static void main(String[] args) { System.out.println(AlarmTypeEnum.parseCode((short) 2)); }} 1、请求实体 import lombok.Data;import lombok.ToString;@ToString@Data public class AlarmInfoDTO { /** * 告警类型 */ private AlarmTypeEnum alarmType; /** * 告警⼿机号 */ private String alarmPhone; /** * 告警的emali邮箱 */ private String alarmEmail; public void setAlarmType(short alarmTypeCode) { this.alarmType = AlarmTypeEnum.parseCode(alarmTypeCode); }} 2、CpMapper.xml⽂件 因篇幅问题不能全部显示,请点此查看更多更全内容