从数据库获取数据,通过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怎么求解含参的二重积分?