qq_925873501 2017-10-22 05:37 采纳率: 0%
浏览 708

怎么在JDBC,里面使用内省。

从数据库获取数据,通过JavaBean。 数据转模型,中怎么使用内省 来节省代码。 求大师解答

  • 写回答

2条回答 默认 最新

  • maladj 2017-10-22 08:40
    关注

    常规的数据封装到bean对象中,都是调用get/set方法,但是如何对任意bean对象都能进行存储数据呢?这里就用到了内省,来获得bean对象的方法,与反射有些相像。
    创建一个BeanUtils类

     public static void populate(Object bean, Map<String, String[]> map) {
            // bean是要存储的bean对象,map是数据
            Set<Entry<String, String[]>> entrySet = map.entrySet();
            for (Entry<String, String[]> entry : entrySet) {
                String name = entry.getKey();
                try {
                    PropertyDescriptor pd = new PropertyDescriptor(name, bean.getClass());
                    Method writeMethod = pd.getWriteMethod();//根据name获取其相应的set方法
                    writeMethod.invoke(bean, entry.getValue());//写入数据
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }   
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog