将List集合中的map对象转为List<对象>形式--封装类
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<对象>形式--封装类的更多相关文章
- Json对象转为实体对象
Json对象转为实体对象 1.Bean中申明 trainTypeList: public class TrainTypeQueryParam implements Serializable { pri ...
- jq对象转为dom对象:$(".div1")[0] dom对象转为jq对象:$(dom对象)
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- Java集合中的Map接口
jdk1.8.0_144 Map是Java三种集合中的一种位于java.util包中,Map作为一个接口存在定义了这种数据结构的一些基础操作,它的最终实现类有很多:HashMap.TreeMap.So ...
- Java集合中的Map接口怎么使用?
Map(双列集合框架) 1.Map接口及实现类概述 Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 coll ...
- 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合
package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...
- 使用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 ...
- mui选择器和dom获取元素的区别(记得把mui对象转为dom对象才能调用用dom方法)
<!DOCTYPE html><html> <head><meta charset="UTF-8"><meta name=&q ...
- 将js对象转为json对象属性加上引号
工具地址 http://js2json.mengxiangchaoren.com
- 处理 WebService 中的 Map 对象
最近,我们讨论了关于 WebService 的相关问题.目前在 Smart 中,可发布两种类型的 WebService,它们是:SOAP 服务 与 REST 服务,您可以根据需要自由选择. 今天,我要 ...
随机推荐
- Linux 基础——常用的Linux网络命令
一.学Linux网络命令有什么好处 网络的出现,我们的生活更方便了,处理事情的效率也越来越高,也可以看到全世界文化的差异.同时我们接受新事物的信息越来越来强,新事物的信息也越来越来多.网络对于我们尔等 ...
- Geoffrey Hinton获得IEEE的麦克斯韦奖的颁奖辞
2016年6月IEEE的麦克斯韦奖颁发给了机器学习的领军人物Geoffrey Hinton.颁奖辞十分优雅,同时简洁.凝练地解释了机器学习的最新进展以及神经网络的崛起.我忍不住翻译了一下. 颁奖辞 G ...
- numpy中min函数
numpy提供的数组功能比较常用,NumPy中维数被称为轴,轴数称为秩. import numpy as np 比如a = np.array([[1, 5, 3], [4, 2, 6]]) a.min ...
- 【PAT】1002. 写出这个数 (20)
1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式 ...
- Java学习笔记之:Java Servlet 过滤器配置
一.步骤 1.创建一类实现Filter接口,重写父类的方法 public class SimpleFilter implements Filter { public void destroy() { ...
- neo4j中索引的使用
neo4j可以对node和relationship中的属性建立索引,索引中的node(relationship)和属性对key-value为多对多的关系.一个node(relationship)可以在 ...
- thinkphp5.0动态配置
设置配置参数 使用set方法动态设置参数,例如: Config::set('配置参数','配置值'); // 或者使用助手函数 config('配置参数','配置值'); 也可以批量设置,例如: Co ...
- CodeForces 797D Broken BST
$dfs$,线段树. 通过观察可以发现,某位置要能被找到,和他到根这条路上的每个节点的权值存在密切的联系,且是父节点的左儿子还是右儿子也有联系. 可以从根开始$dfs$,边走边更新线段树,如果遍历左儿 ...
- PHP获取客户端请求头信息
获取HTTP请求头信息 Apache 如果web服务器用的是apache,可以直接用php的库函数getallheaders() Nginx 如果web服务器用的是nginx,则无法直接使用getal ...
- am335xSD卡启动--文件系统制作
1.网上下载busybox工具https://busybox.net/downloads/ 2.根据此文章提示制作自己的跟文件系统 链接: https://pan.baidu.com/s/1bp6GK ...