import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map; import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.PropertyUtils; public class EntityBean { /**
* 此方法实现JDBCTemplate
* 返回的Map集合对数据的自动
* 封装功能
* List集合存储着一系列的MAP
* 对象,obj为一个javaBean
* @param listMap集合
* @param objjavaBean对象
* @return
*/
public List parse(List list,Class obj){
//生成集合
ArrayList ary = new ArrayList();
//遍历集合中的所有数据
for(int i = 0; i<list.size(); i++){
try {
////生成对象实历 将MAP中的所有参数封装到对象中
Object o = this.addProperty( (Map)list.get(i),obj.newInstance() );
//把对象加入到集合中
ary.add(o);
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//返回封装好的集合
return list;
} /**Map对象中的值为 name=aaa,value=bbb
调用方法
addProperty(map,user);
*将自动将map中的值赋给user类
*此方法结合Spring框架的jdbcTemplete将非
*常有用
* @param map存储着名称和值集合
* @param obj要封装的对象
* @return封装好的对象
*/
public Object addProperty(Map map,Object obj){
//遍历所有名称
Iterator it = map.keySet().iterator();
while(it.hasNext()){
//取得名称
String name = it.next().toString();
//取得值
String value = map.get(name).toString(); try{
//取得值的类形
Class type = PropertyUtils.getPropertyType(obj, name); if(type!=null){
//设置参数
PropertyUtils.setProperty(obj, name,ConvertUtils.convert(value, type)); }
}catch(Exception ex){
ex.printStackTrace();
} }
return obj; } } //使用方法
List stuGroupList2=new ArrayList();
EntityBean entbean=new EntityBean();
for (DynaBean stubean : stuGroupList) {
    if (stubean.get("GROUP_ID") != null&& stubean.get("GROUP_ID").equals(group_id)) {
        LinkedHashMap map=new LinkedHashMap();
        map.put("choose_id", stubean.get("CHOOSE_ID"));
        map.put("group_user_typecode", stubean.get("GROUP_USER_TYPECODE"));
        map.put("group_id", stubean.get("GROUP_ID"));
        map.put("realname", stubean.get("REALNAME"));
        stuGroupList2.add(map);
    }
}
stuGroupList2=entbean.parse(stuGroupList2, stuGroup.class);

将List集合中的map对象转为List<对象>形式--封装类的更多相关文章

  1. Json对象转为实体对象

    Json对象转为实体对象 1.Bean中申明 trainTypeList: public class TrainTypeQueryParam implements Serializable { pri ...

  2. jq对象转为dom对象:$(".div1")[0] dom对象转为jq对象:$(dom对象)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  3. Java集合中的Map接口

    jdk1.8.0_144 Map是Java三种集合中的一种位于java.util包中,Map作为一个接口存在定义了这种数据结构的一些基础操作,它的最终实现类有很多:HashMap.TreeMap.So ...

  4. Java集合中的Map接口怎么使用?

    Map(双列集合框架) 1.Map接口及实现类概述 Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 coll ...

  5. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

  6. 使用LinkedList类生成一个集合对象,循环加入“小样1”,“小样2”,“小样3”,“小样4”,“小样5”……“小样100”。输出这个集合的大小。再使用循环删除这个集合中所有名字为偶数的对象,比如“小样6”,“小样100”,都是偶数名。最后:循环输出集合中所有的对象,看是否删除成功。

    package com.lanxi.demo1_8; import java.util.Iterator; import java.util.LinkedList; public class Test ...

  7. mui选择器和dom获取元素的区别(记得把mui对象转为dom对象才能调用用dom方法)

    <!DOCTYPE html><html> <head><meta charset="UTF-8"><meta name=&q ...

  8. 将js对象转为json对象属性加上引号

    工具地址 http://js2json.mengxiangchaoren.com

  9. 处理 WebService 中的 Map 对象

    最近,我们讨论了关于 WebService 的相关问题.目前在 Smart 中,可发布两种类型的 WebService,它们是:SOAP 服务 与 REST 服务,您可以根据需要自由选择. 今天,我要 ...

随机推荐

  1. Linux 基础——常用的Linux网络命令

    一.学Linux网络命令有什么好处 网络的出现,我们的生活更方便了,处理事情的效率也越来越高,也可以看到全世界文化的差异.同时我们接受新事物的信息越来越来强,新事物的信息也越来越来多.网络对于我们尔等 ...

  2. Geoffrey Hinton获得IEEE的麦克斯韦奖的颁奖辞

    2016年6月IEEE的麦克斯韦奖颁发给了机器学习的领军人物Geoffrey Hinton.颁奖辞十分优雅,同时简洁.凝练地解释了机器学习的最新进展以及神经网络的崛起.我忍不住翻译了一下. 颁奖辞 G ...

  3. numpy中min函数

    numpy提供的数组功能比较常用,NumPy中维数被称为轴,轴数称为秩. import numpy as np 比如a = np.array([[1, 5, 3], [4, 2, 6]]) a.min ...

  4. 【PAT】1002. 写出这个数 (20)

    1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式 ...

  5. Java学习笔记之:Java Servlet 过滤器配置

    一.步骤 1.创建一类实现Filter接口,重写父类的方法 public class SimpleFilter implements Filter { public void destroy() { ...

  6. neo4j中索引的使用

    neo4j可以对node和relationship中的属性建立索引,索引中的node(relationship)和属性对key-value为多对多的关系.一个node(relationship)可以在 ...

  7. thinkphp5.0动态配置

    设置配置参数 使用set方法动态设置参数,例如: Config::set('配置参数','配置值'); // 或者使用助手函数 config('配置参数','配置值'); 也可以批量设置,例如: Co ...

  8. CodeForces 797D Broken BST

    $dfs$,线段树. 通过观察可以发现,某位置要能被找到,和他到根这条路上的每个节点的权值存在密切的联系,且是父节点的左儿子还是右儿子也有联系. 可以从根开始$dfs$,边走边更新线段树,如果遍历左儿 ...

  9. PHP获取客户端请求头信息

    获取HTTP请求头信息 Apache 如果web服务器用的是apache,可以直接用php的库函数getallheaders() Nginx 如果web服务器用的是nginx,则无法直接使用getal ...

  10. am335xSD卡启动--文件系统制作

    1.网上下载busybox工具https://busybox.net/downloads/ 2.根据此文章提示制作自己的跟文件系统 链接: https://pan.baidu.com/s/1bp6GK ...