导入依赖
<!-- https://mvnrepository.com/artifact/cglib/cglib-nodep -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>3.3.0</version>
</dependency>
工具类
package com.sunlibin;
import net.sf.cglib.beans.BeanMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BeanMapUtil {
/**
* 将对象转换为map
* @param bean
* @param <T>
* @return
*/
public static <T> Map<String,Object> beanToMap(T bean){
Map<String,Object> map = new HashMap<>();
if(null != bean){
BeanMap beanMap = BeanMap.create(bean);
for(Object key : beanMap.keySet()){
map.put(key+"",beanMap.get(key));
}
}
return map;
}
/**
* 将map封装为实体类对象
* @param map
* @param bean
* @param <T>
* @return
*/
public static <T> T mapToBean(Map<String,Object> map,T bean){
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}
/**
* 对象集合转换为map集合
* @param beanList
* @param <T>
* @return
*/
public static <T> List<Map<String, Object>> beansToMaps(List<T> beanList) {
List<Map<String, Object>> list = new ArrayList<>();
if (beanList != null && beanList.size() > 0) {
for (int i = 0,size = beanList.size(); i < size; i++) {
T bean = beanList.get(i);
Map<String, Object> map = beanToMap(bean);
list.add(map);
}
}
return list;
}
/**
* map集合转换为实体类对象集合
* @param maps
* @param clazz
* @param <T>
* @return
* @throws InstantiationException
* @throws IllegalAccessException
*/
public static <T> List<T> mapsToBeans(List<Map<String, Object>> maps,Class<T> clazz) throws InstantiationException, IllegalAccessException {
List<T> list = new ArrayList<>();
if (maps != null && maps.size() > 0) {
for (int i = 0,size = maps.size(); i < size; i++) {
Map<String, Object> map = maps.get(i);
T bean = clazz.newInstance();
mapToBean(map, bean);
list.add(bean);
}
}
return list;
}
}
文档参考链接:
https://blog.csdn.net/weixin_41251135/article/details/106752088?utm_source=app&app_version=4.5.3