public static List resultSetToList(ResultSet rs,Class cls)
{
List list = new ArrayList();
try
{
//获取数据库表结构
ResultSetMetaData meta=rs.getMetaData();
Object obj=null;
while(rs.next())
{
//获取formbean实例对象
obj=Class.forName(cls.getName()).newInstance();
//循环获取指定行的每一列的信息
for(int i=1;i<=meta.getColumnCount();i++)
{
//当前列名
String colName=meta.getColumnName(i);
//将列名第一个字母大写(为什么加+""呢?为了把char类型转换为String类型。replace的参数是String类型。)
colName=colName.replace(colName.charAt(0)+"", new String(colName.charAt(0)+"").toUpperCase());
//设置方法名
String methodName="set"+colName;
//获取当前位置的值,返回Object类型
Object value=rs.getObject(i);
//利用反射机制,生成setXX()方法的Method对象并执行该setXX()方法。
Method method=obj.getClass().getMethod(methodName, value.getClass());
method.invoke(obj, value);
}
list.add(obj);
}
}catch(Exception ex)
{
ex.printStackTrace();
}finally{
return list;
}
}
{
List list = new ArrayList();
try
{
//获取数据库表结构
ResultSetMetaData meta=rs.getMetaData();
Object obj=null;
while(rs.next())
{
//获取formbean实例对象
obj=Class.forName(cls.getName()).newInstance();
//循环获取指定行的每一列的信息
for(int i=1;i<=meta.getColumnCount();i++)
{
//当前列名
String colName=meta.getColumnName(i);
//将列名第一个字母大写(为什么加+""呢?为了把char类型转换为String类型。replace的参数是String类型。)
colName=colName.replace(colName.charAt(0)+"", new String(colName.charAt(0)+"").toUpperCase());
//设置方法名
String methodName="set"+colName;
//获取当前位置的值,返回Object类型
Object value=rs.getObject(i);
//利用反射机制,生成setXX()方法的Method对象并执行该setXX()方法。
Method method=obj.getClass().getMethod(methodName, value.getClass());
method.invoke(obj, value);
}
list.add(obj);
}
}catch(Exception ex)
{
ex.printStackTrace();
}finally{
return list;
}
}