將JDBC ResultSet結果集轉成List

來源:互聯網
上載者:User

private List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();public String queryAll() {Connection conn = null;Statement sta = null;ResultSet rs = null;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/easyui", "root", "root");sta = conn.createStatement();rs = sta.executeQuery("select * from e_user");ResultSetMetaData md = rs.getMetaData(); //獲得結果集結構資訊,中繼資料int columnCount = md.getColumnCount();   //獲得列數 while (rs.next()) {Map<String,Object> rowData = new HashMap<String,Object>();for (int i = 1; i <= columnCount; i++) {rowData.put(md.getColumnName(i), rs.getObject(i));}list.add(rowData);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return "success";}


ResultSet簡介:
    ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法(這些get方法可以訪問當前行中的不同列)

    提供了對這些行中資料的訪問。ResultSet.next方法用於移動到ResultSet中的下一行,使下一行成為當前行。

    上面的rs.getObject(i) 即是獲得這一行的資料值

ResultSetMetaData簡介:
    利用ResultSet的getMetaData的方法可以獲得ResultSetMeta對象,而ResultSetMetaData儲存了ResultSet的MetaData。

    所謂的MetaData在英文中的解釋為"Data about Data",直譯成中文則為"有關資料的資料"或者"描述資料的資料",

    實際上就是描述及解釋含義的資料。以Result的MetaData為例,ResultSet是以表格的形式存在,所以getMetaData

    就包括了資料的 欄位名稱、類型以及數目等表格所必須具備的資訊。在ResultSetMetaData類中主要有一下幾個方法。

    ResultSetMetaData rsmd=rs.getMetaData();

    1、getColumCount()方法

    返回所有欄位的數目

    2、getColumName()方法

    根據欄位的索引值取得欄位的名稱。

    3、getColumType()方法

    根據欄位的索引值取得欄位的類型



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.