1. 程式人生 > >JAVA中列舉型別結合mysql資料的使用

JAVA中列舉型別結合mysql資料的使用

在我的學習過程中,我使用到了的列舉型別和資料庫配合,下面是使用過程。

 

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方法 }
Javabean程式碼

 

其中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層

若之後還有用到其他型別,我還會補充。。。。