JAVA中列舉型別結合mysql資料的使用
阿新 • • 發佈:2018-11-19
在我的學習過程中,我使用到了的列舉型別和資料庫配合,下面是使用過程。
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; //Javabean程式碼使用者開戶時間 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(); } }Controller層
若之後還有用到其他型別,我還會補充。。。。