將JDBC ResultSet結果集轉成List
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"; } </pre>
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()方法
根據字段的索引值取得字段的類型
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!