在我的學習過程中,我使用到了的枚舉類型和數據庫配合,下面是使用過程。

public class TUser extends User implements Serializable { private static final long serialVersionUID = 1L; private Gender userGender; //用戶性別 private String userAvatar; //用戶頭像 private Integer userAge; //用戶年齡 private Date userActivityDate; //用戶開戶時間 private java.util.Date operationTime; //操作時間 private UserStauts userStatus; //用戶狀態 private Float userAsset; // 用戶資產 private String userEmail; //用戶郵箱 private String userNickname; //用戶昵稱 private String userPayPassword; //用戶支付密碼 private List<TTradeLog> tradeLogs; //查詢交易記錄 ................... 省去setter和getter方法 }
其中userGender和userStatus和枚舉類型。

package com.Pt.utils.enums; import java.util.HashMap; public enum Gender{ MALE("男", 1),FAMALE("女", 2),SECRET("不公開", 3); private Gender(String key, Integer value){ this.key = key; this.value = value; } private String key; private Integer value; //將數值1,2,3和MALE,FAMALE,SECRET一起封裝到HashMap中 private static HashMap<Integer, Gender> valueMap = new HashMap<Integer, Gender>(); //靜態代碼塊 static{ for (Gender item : Gender.values()) { valueMap.put(item.getValue(), item); } } public String getKey() { return key; } public void setKey(String key) { this.key = key; } public Integer getValue() { return value; } public void setValue(Integer value) { this.value = value; } //前台傳進來的值通過這個方法來轉換為Gender類型 public static Gender getByValue(int value) { Gender result = valueMap.get(value); if(result == null) { throw new IllegalArgumentException("No element matches " + value); } return result; } }
下面是數據的模型。
最后。前台來請求URL時直接這樣。

@RequestMapping("/updateUserInfo") public String updateUserInfo(TUser user, Integer gender) { try { //將用戶性別封裝為Gender枚舉類型 //和Javabean中對應 user.setUserGender(Gender.getByValue(gender)); return service.updateUserInfo(user); } catch (Exception e) { e.printStackTrace(); return returnError(); } }
若之后還有用到其他類型,我還會補充。。。。