2 baidu 18644501 baidu_18644501 于 2016.02.24 11:15 提问

java查询数据库数据转为XML文件实体属性多时的问题

现在是查出数据库数据是list集合,通过遍历list获取Custinfo,如果实体中有很多属性那么就要写很多次getxxx()感觉这样繁琐很浪费时间,有什么方法不通过getXxx()可以把Custinfo属性中对应的数据库的数据循环加到xml文件中,目的是想减少实体中有很多属性时写getXxx(),这个想法是不是行不通?图片说明

2个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.02.24 11:22

为什么要转为xml文件,,别人都是转为json,,

sadwxds
sadwxds   2016.02.24 14:28

你想想框架是怎么根据你的Bean对象自动把数据库的数据匹配后赋值进去的。
看看java映射相关的东西,通过映射是可以做到的。
我自己之前为了不重载对象的toString方法实现类似的toString效果,写了个小工具。
我没看过框架的源码具体是怎么实现的,所有我写的映射是不太好的。
但是至少满足了我目前的需求

    public static <E> void showObject(E obj){
        System.out.println("start show Object");
        if(obj == null){
            System.out.println("obj == null");
        }else{
            Class<? extends Object> c = obj.getClass();
            Field[] fields = c.getDeclaredFields();
            String cName = c.getName();
            System.out.print(cName.substring(cName.lastIndexOf(".")+1)+"[");
            for(Field field : fields){
                field.setAccessible(true);
                String f = field.toString().substring(field.toString().lastIndexOf(".")+1);         
                try {
                    System.out.print(f+"="+field.get(obj)+", ");
                } catch (IllegalArgumentException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("]");
        }

        System.out.println("end show Object");
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!