map转实体工具类

package cst.spmBase.util;

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
/**
* 将map转换为实体
* @author Administrator
*
*/
public class ConvertMapToDomainUtil {
/**
* @Title: assemble
* @Description: List<Map<String, Object>> 转为 List<Object>
* @param: @param objs
* @param: @param targetClass
* @param: @return
* @param: @throws IllegalAccessException
* @param: @throws InvocationTargetException
* @param: @throws InstantiationException
* @return: List<Object>
* @throws
* @author gaoxp
*/
public static List<Object> assemble(List<Map<String, String>> objs, Class<?> targetClass) throws IllegalAccessException, InvocationTargetException, InstantiationException {
List<Object> list=new ArrayList<Object>();
for (Map<String, String> map : objs) {
Object obj=assemble(map, targetClass);
list.add(obj);
}
return list;
}

/**
* @Title: assemble
* @Description: Map<String, Object> 转为 Object
* @param: @param objs
* @param: @param targetClass
* @param: @return
* @param: @throws IllegalAccessException
* @param: @throws InvocationTargetException
* @param: @throws InstantiationException
* @return: Object
* @throws
* @author gaoxp
*/
public static Object assemble(Map<String, String> objs, Class<?> targetClass) throws IllegalAccessException, InvocationTargetException, InstantiationException {
if (null == objs) {
return null;
}
Object target = targetClass.newInstance();
if (target != null) {
for(Map.Entry<String, String> e : objs.entrySet()) {
if(null!=e.getValue()){
BeanUtils.copyProperty(target, e.getKey(), e.getValue());
}
}
}
return target;
}
/**
* @date 2017年12月13日
* @author gxp
* @param objs
* @param targetClass
* @return
* @throws IllegalAccessException
* @throws InvocationTargetException
* @throws InstantiationException
* 描述:将相应map转换为制定类型的实体
*/
public static Object anotherAssemble(Map<String, Object> objs, Class<?> targetClass) throws IllegalAccessException, InvocationTargetException, InstantiationException {
if (null == objs) {
return null;
}
Object target = targetClass.newInstance();
if (target != null) {
for(Map.Entry<String, Object> e : objs.entrySet()) {
if(null!=e.getValue()){
BeanUtils.copyProperty(target, e.getKey(), e.getValue());
}
}
}
return target;
}
}

使用方法

Map<String, Object> returnMap ;

XXXX  xxxx= (XXXX) ConvertMapToDomainUtil
.anotherAssemble(returnMap, XXXX.class);

原文地址:https://www.cnblogs.com/sunqingwei/p/9517847.html

时间: 2024-11-10 08:38:22

map转实体工具类的相关文章

黑马程序员——黑马基础——Map,集合框架工具类Conlections和Arrays

黑马程序员--黑马基础--Map,集合框架工具类Conlections和Arrays ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,Map集合 Map<K,V>集合是一个接口,和List集合及Set集合不同的是,它是双列集合,并且可以给对象加上名字,即键(Key). 特点: 1)该集合存储键值对,一对一对往里存 2)要保证键的唯一性. Map集合的子类 Map |--Hashtable:底层是哈希表数据结构,不可以存入null键nu

Set,Map,包装类工具类

package Leidejihe; import java.util.*; public class Test2set { public static void main(String[] args) { //两种方式.Set没有顺序输入和输出 Set<String>s=new HashSet<String>(); //HashSet<String>s1=new HashSet<String>(); s.add("a"); s.add(

(4)文本挖掘(一)——准备文本读写及对Map操作的工具类

文本挖掘是一个对具有丰富语义的文本进行分析,从而理解其所包含的内容和意义的过程.文本挖掘包含分词.文本表示.文本特征选择.文本分类.文本聚类.文档自动摘要等方面的内容.文本挖掘的具体流程图可下图所示: 我的项目是以复旦大学中文语料库和路透社英文语料库为数据集的,都是有类别的两层目录文本集. 不管你要做什么,你首先都要先读取文本,为了方便后面的操作,我写了几个工具类,这里先将文本读取Reader类.文本写入Writer类和对Map的各种操作MapUtil类. Reader import java.

基于java反射的javabean和map相互转换的工具类

话不多说,代码如下 package com.study; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; /** * PackageName com.study * Description please write description. * User: yh * Time: 2016/11/29 16:57 */ public class mapUtil { /** * javaB

java 数据库查询工具类.

import java.util.List;import java.util.Map; /** * 数据库查询工具类. * */public class QueryTool {        /**     * Checks if is condition.     *     * @param obj the obj     * @return true, if is condition     */    public static boolean isCondition(Object ob

java关闭资源,自制关闭资源工具类

在网上看到一篇关于关闭资源的正确方式:http://blog.csdn.net/bornforit/article/details/6896775 该博文中的总结: (1)使用finally块来关闭物理资源(非托管资源),保证关闭操作始终会被执行: (2)关闭每个资源之前首先保证引用该资源的引用变量不为null: (3)为每个物理资源使用单独的trycatch块关闭资源,保证关闭资源时引发的异常不会影响其他资源的关闭. 在资源过多的时候,我们要在finally块中写很多的非空判断.以及try-c

View拖拽 自定义绑定view拖拽的工具类

由于工作需求,需要用到这种处理方法所以我就写了这个 废话不多说先看效果图 接下来就看代码吧 DragDropManager import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.PixelFormat; import android.util.Log; import android.view.Gravity; impo

java 实体对象与Map之间的转换工具类(自己还没看)

java实体对象与Map之间的转换工具类 import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; public class EntityUtils { /** * 实体类转Map * @param object * @return */ public static Map<String, Object> entityToMap(Object object) { Map<String,

实体类与CDATA类型的xml的转换的工具类

package com.wanhua.util; import java.io.StringReader;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder;import org.xml.sax.