All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.sylinx.hbatis.kit.BeanUtil Maven / Gradle / Ivy

The newest version!
package cn.sylinx.hbatis.kit;

import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;

public class BeanUtil {

	// 把JavaBean转化为map
	public static Map bean2map(Object bean) {
		try {
			return bean2mapInner(bean);
		} catch (Exception e) {
			return new HashMap();
		}
	}

	// 把JavaBean转化为map
	private static Map bean2mapInner(Object bean) throws Exception {
		Map map = new HashMap<>();
		// 获取JavaBean的描述器
		BeanInfo b = Introspector.getBeanInfo(bean.getClass(), Object.class);
		// 获取属性描述器
		PropertyDescriptor[] pds = b.getPropertyDescriptors();
		// 对属性迭代
		for (PropertyDescriptor pd : pds) {
			// 属性名称
			String propertyName = pd.getName();
			// 属性值,用getter方法获取
			Method m = pd.getReadMethod();
			Object properValue = m.invoke(bean);// 用对象执行getter方法获得属性值
			// 把属性名-属性值 存到Map中
			map.put(propertyName, properValue);
		}
		return map;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy