62,615
社区成员
发帖
与我相关
我的任务
分享
package com.berry.shopping.dao.impl;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.berry.shopping.dao.IResultHandler;
public class ResultHandler implements IResultHandler {
public <T> List<T> handler(ResultSet rs, Class<T> clz) {
List<T> list = new ArrayList<>();
try {
BeanInfo beanInfo = Introspector.getBeanInfo(clz , Object.class);
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
while (rs.next()) {
T newInstance = clz.newInstance();
for (PropertyDescriptor pd : pds) {
pd.getWriteMethod().invoke(newInstance, rs.getObject(pd.getName()));
}
}
return (List<T>) list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}