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. js excel导出 前端实现(转载)

    本文为转载,本人亲测可用,感谢原作者,原文在这里. 一.由于公司项目需要,需要将表格数据导出为EXCEL表格数据. 环境React+Ant Design 二.安装插件js-export-excel   ...

  2. SGU 209. Areas

    209. Areas time limit per test: 0.25 sec.memory limit per test: 65536 KB input: standardoutput: stan ...

  3. 未能加载文件或程序集“System.Data.SQLite”

    未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项.试图加载格式不正确的程序. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误 ...

  4. VIM配置示例

    以下是我习惯的vim配置,做个记录~_~ " 文件编码 set fileencoding=utf- set encoding=utf- set termencoding=utf- " ...

  5. 微软企业库5.0 学习之路——扩展学习篇、库中的依赖关系注入(重构 Microsoft Enterprise Library)[转]

    这篇文章是我在patterns & practices看到的一篇有关EntLib5.0的文章,主要介绍了EntLib5.0的这次的架构变化由来,觉得很不错,大家可以看一下! 在过去几年中,依赖 ...

  6. Java Integer Cache

    Java Integer Cache Java 代码 public class IntegerDemo { public static void main(String[] args) { Integ ...

  7. OOD沉思录 --- 面向动作与面向对象 --- 避免泛滥成灾的类

    3.7 从设计中取出不需要的类 只有Get/Set方法的类不算是一个必要的类,Get/Set方法也不算是有意义的行为.这种类降级为属性更加合适. 3.8 去除系统外部的类 如果一个类只调用系统领域的方 ...

  8. STL容器 -- Map

    核心描述: map 就是从键(key) 到 值(value) 的一个映射.且键值不可重复,内部按照键值排序. 头文件: #include <map> 拓展: multimap 是一个多重映 ...

  9. POJ 2019 Cornfields [二维RMQ]

    题目传送门 Cornfields Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 7963   Accepted: 3822 ...

  10. 洛谷P3066 [USACO12DEC] 逃跑的Barn [左偏树]

    题目传送门 逃跑的Barn 题目描述 It's milking time at Farmer John's farm, but the cows have all run away! Farmer J ...