Java通过反射打包数据库记录返回List对象

public List pares(ResultSet rs) throws Exception{
				List list = new ArrayList();
				//获取所有属性
				PropertyDescriptor[] pds = PropertyUtils.getPropertyDescriptors(cla);
				//获取表头
				ResultSetMetaData rsm = rs.getMetaData();
				while (rs.next()) {
					//获取实例
					Object obj = cla.newInstance();
					for (PropertyDescriptor pd : pds) {
						String name = pd.getName();
						Boolean find = false;
						for (int i = 0; i < rsm.getColumnCount(); i++) {
							if(name.toLowerCase().equals(rsm.getColumnName(i + 1).toLowerCase())){
								find = true;
								break;
							}
						}
						if(find){
							String val = rs.getString(name);
							if(val != null && !"".equals(val)){
								BeanUtils.setProperty(obj, name, val);
							}
						}
					}
					list.add(obj);
				}
				return list;
			}
通过结果集合resultSet,同时需要借助第三方jar包commons-beanutils-1.7.0.jar,当然你也可通过Field[] filed = class.getDeclaredFields()获取属性但是这样或获取比较的多没有用的数据,比如像类的annotation等属性!

转载于:https://my.oschina.net/huangsm/blog/29256

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值