ReflectionUtil.java 文件源码

java
阅读 54 收藏 0 点赞 0 评论 0

项目:pub-service 作者:
/**
 * 将po对象中有属性和值转换成map
 * 
 * @param po
 * @return
 */
public static Map po2Map(Object po) {
    Map poMap = new HashMap();
    Map map = new HashMap();
    try {
        map = BeanUtils.describe(po);
    } catch (Exception ex) {
    }
    Object[] keyArray = map.keySet().toArray();
    for (int i = 0; i < keyArray.length; i++) {
        String str = keyArray[i].toString();
        if (str != null && !str.equals("class")) {
            if (map.get(str) != null) {
                poMap.put(str, map.get(str));
            }
        }
    }

    Method[] ms =po.getClass().getMethods();
    for(Method m:ms){
        String name = m.getName();

        if(name.startsWith("get")||name.startsWith("is")){
            if(m.getAnnotation(NotDbField.class)!=null||m.getAnnotation(PrimaryKeyField.class)!=null){
                poMap.remove(getFieldName(name)); 
            } 
        }

    }

    /**
     * 如果此实体为动态字段实体,将动态字段加入
     */
    if(po instanceof DynamicField){
        DynamicField dynamicField = (DynamicField) po;
        Map fields = dynamicField.getFields();
        poMap.putAll(fields);
    }
    return poMap;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号