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

泛型接收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;
	}
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值