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 如何提取csv文件中需要的列,将其整合为一篇完整文档,并进行jieba分词(语言-python)
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?