zoukankan      html  css  js  c++  java
  • 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层

    若之后还有用到其他类型,我还会补充。。。。

    努力有用的话,还要天才做什么呢?
  • 相关阅读:
    中间件
    进程的概念
    操作系统必会
    粘包现象及处理方式
    双下方法
    异常处理
    网络编程基础
    osi七层协议
    面向对象初识
    Django 中间件
  • 原文地址:https://www.cnblogs.com/crazy-xf/p/9981278.html
Copyright © 2011-2022 走看看