讀取大數據表

private PreparedStatement ps=null;  

 private ResultSet rs=null;  

ps=conn.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
                 rs=ps.executeQuery(); 
              ps.setFetchSize(200);//遊標 的方式
                 list=resultSetToList(rs);



 public static List resultSetToList(ResultSet rs) throws java.sql.SQLException {   
        if (rs == null)   
            return Collections.EMPTY_LIST;   
        ResultSetMetaData md = rs.getMetaData(); //得到結果集(rs)的結構信息,比如字段數、字段名等   
        int columnCount = md.getColumnCount(); //返回此 ResultSet 對象中的列數   
        List list = new ArrayList();   
        Map rowData = new HashMap();   
        while (rs.next()) {
         rowData = new HashMap(columnCount);   
         for (int i = 1; i <= columnCount; i++) {   
                 rowData.put(md.getColumnName(i), rs.getObject(i));   
         }   
          list.add(rowData);   
        }   
        return list;   
}  

發佈了34 篇原創文章 · 獲贊 26 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章