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層

若之后還有用到其他類型,我還會補充。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM