zoukankan      html  css  js  c++  java
  • java遍历一个实体

    //遍历order,得到属性值不为空的属性,type:操作类型。0是新增,1是更新
        private Map<String, Object> reflect(Order order,String type) throws Exception{
            Map<String, Object> map=new HashMap<String, Object>();
            Class<? extends Order> cls = order.getClass();
            Field[] fields = cls.getDeclaredFields();
            for(Field f:fields){
                //获取订单表中字段上的不须入库映射的注解
                Transient annon = f.getAnnotation(Transient.class);
                if(annon!=null) {
                    continue;
                }
                f.setAccessible(true);
                if(f.getName().equals("serialVersionUID"))continue;
                //如果值不为空
                if(f.get(order)!=null&&StringUtils.isNotBlank(f.get(order).toString())) {
                    if(f.get(order) instanceof Date) {
                        map.put(humpToUnderline(f.getName()),DateUtil.dateToString((Date) f.get(order)));
                    }else {
                        map.put(humpToUnderline(f.getName()),f.get(order));
                    }
                }else if(type.equals("0")) {//新增,获取空值
                    map.put(humpToUnderline(f.getName()),null);
                }
            }
            return map;
        }
        
        /***
         * 下划线命名转为驼峰命名
         * 
         * @param para
         *        下划线命名的字符串
         */
         
        public String underlineToHump(String para){
            StringBuilder result=new StringBuilder();
            String a[]=para.split("_");
            for(String s:a){
                if (!para.contains("_")) {
                    result.append(s);
                    continue;
                }
                if(result.length()==0){
                    result.append(s.toLowerCase());
                }else{
                    result.append(s.substring(0, 1).toUpperCase());
                    result.append(s.substring(1).toLowerCase());
                }
            }
            return result.toString();
        }
    
        /***
        * 驼峰命名转为下划线命名
         * 
         * @param para
         *        驼峰命名的字符串
         */
         
        public String humpToUnderline(String para){
            StringBuilder sb=new StringBuilder(para);
            int temp=0;//定位
            if (!para.contains("_")) {
                for(int i=0;i<para.length();i++){
                    if(Character.isUpperCase(para.charAt(i))){
                        sb.insert(i+temp, "_");
                        temp+=1;
                    }
                }
            }
            return sb.toString();
        }
  • 相关阅读:
    剑桥雅思写作高分范文ESSAY81
    maven安装配置
    IntelliJ IDEA 2017.3.1安装步骤
    Git基本命令整理
    jacoco覆盖率工具测试及性能分析
    OSGI框架
    查看指定库对应GCC版本
    普元eos、soa、esb
    emp架构
    jar包安装到本地仓库
  • 原文地址:https://www.cnblogs.com/xwjBlog/p/11557707.html
Copyright © 2011-2022 走看看