Map集合转换为Pojo对象的工具类

来源:互联网 发布:java报表技术实例 编辑:程序博客网 时间:2024/06/05 04:48

泛型接收class并将Map集合数据通过映射创建指定class类型的对象

贴出代码:

package com.eyunge.datatransfer.seckill;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.List;import java.util.Map;/** * 通过泛型和反射自动Mapper数据* <p>Title: MapperUtil.java</p>* <p>Description: </p>* <p>Copyright: Copyright (c) 2016</p>* <p>Company: YunGe</p>* @author L* @date 2017年5月5日 下午4:35:58* @version 1.0 */public class MapperUtil<T> {/** * List<map> mapper 装载 为List<?> * @param maplist * @param and * @return * @throws Exception */public  List<T> mapperList(List<Map> maplist,Class<T> t) throws Exception{List<Object> rtnlist=new ArrayList<>();if(maplist==null||maplist.size()==0){return (List<T>)rtnlist;}for(Map map:maplist){Object tobj=t.newInstance();for(Object key:map.keySet()){Field field =t.getDeclaredField((String) key);field.setAccessible(true);field.set(tobj, map.get(key));}rtnlist.add(tobj);}return (List<T>)rtnlist;}/** * 反射Mapper  数据对象 * @param map * @param t * @return * @throws Exception */public <T>T  mapperObj(Map map,Class<T> t) throws Exception{if(map==null||map.size()==0){return t.newInstance();}Object tobj=t.newInstance();for(Object key:map.keySet()){Field field =t.getDeclaredField((String) key);field.setAccessible(true);field.set(tobj, map.get(key));}return (T) tobj;}}


0 0
原创粉丝点击