close
用過Reflect C#和VB版本 , 在寫java 時,沒用覺得渾身不對勁
技癢就寫一下java 版本,概念很簡單,也比C# 版本易讀
就是找出JavaBean 裡 各屬性中set method 然後將 資料庫撈回資料,往利用set塞值
最後用List 存起來
程式碼如下:
public class DataTransforTool<T> {
public List<T> getResultToList(ResultSet p_rs,Class<T> p_class){
List<T> l_listRtn = new ArrayList<T>();
T l_javabean = null;
try {
ResultSetMetaData l_meta = p_rs.getMetaData();
int l_intclcount = l_meta.getColumnCount();
while(p_rs.next()){
l_javabean = p_class.newInstance();
for (int i = 0; i < l_intclcount; i++) {
String l_propertyName = l_meta.getColumnName(i+1);
Method l_getmethod = p_class.getMethod("get"+l_propertyName);
Method l_setmethod = p_class.getMethod("set" +l_propertyName,l_getmethod.getReturnType());
Object value = p_rs.getObject(i+1);
l_setmethod.invoke(l_javabean, value);
}
l_listRtn.add(l_javabean);
}
} catch (Exception e) {
e.printStackTrace();
}
return l_listRtn;
}
}
全站熱搜
留言列表