动态生成JavaBean
做项目时,因为业务需要,从表中查询到的字段数量不固定,因此封装结果集的对象的属性数量也不是固定的。那么就需要根据查询结果,动态创建一个对象来封装数据。
1.下载
cglib-nodep-2.2.3.jar
;maven工程的话,添加cglib坐标
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.3</version>
</dependency>
2.编写创建动态JavaBean类
public class DynamicBean {
private Object object = null;
private BeanMap beanMap = null;
public DynamicBean() {
super();
}
@SuppressWarnings("unchecked")
public DynamicBean(HashMap propertyMap) {
this.object = generateBean(propertyMap);
this.beanMap = BeanMap.create(this.object);
}
/**
* 给bean属性赋值
* @param property 属性名
* @param value 值
*/
public void setValue(String property, Object value) {
beanMap.put(property, value);
}
/**
* 通过属性名得到属性值
* @param property 属性名
* @return 值
*/
public Object getValue(String property) {
return beanMap.get(property);
}
/**
* 得到该实体bean对象
* @return
*/
public Object getObject() {
return this.object;
}
/**
* 创建bean方法
* @param propertyMap
* @return
*/
@SuppressWarnings("unchecked")
private Object genera