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()方法
根據欄位的索引值取得欄位的類型