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;  
    }  
 
}
arrow
arrow
    全站熱搜

    Ryan 發表在 痞客邦 留言(0) 人氣()