利用反射机制读出getHibernateTemplate().find()方法返回的list中每个字段的值

//返回的是List<Obj>

listm = dao.queryForList(otable);

//遍历

    for (int i = 0; i < listm.size(); i++) {
           
            //利用反射机制读出Object中每个字段的值
            Field[] fields = listm.get(i).getClass().getDeclaredFields();
           
           
            for(int j=0;j<fields.length;j++){
              
                    fields[j].setAccessible(true);//允许访问private修饰符字段
                    try {
                        myValue= fields[j].get(listm.get(i));
                    } catch (IllegalArgumentException e) {
                        e.printStackTrace();
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    }
               
            }
        }

 

 

 

 

 

 

 

 

BTW:

数据显示为Ljava.lang.Object;@问题

那是因为从数据库读出数据后,存入到list集合上时,如果你没有指定要存入的数据的类型,系统会自动给你赋一个object类型,他是所以类的鼻祖,你取出数据要进行转型,转化成你自己想要的数据类型才能显示。

你可能感兴趣的:(DAO,J#)