1. 程式人生 > >java讀取資料庫資料,並將資料存入陣列返回

java讀取資料庫資料,並將資料存入陣列返回

// 查詢資料庫內手機線上狀態的裝置資訊,得到的是List<Map<>>格式    // 例如[{udid=7b45c30, version=7.1.1, phonename=MiNote3}, {udid=UYT7N17B16002687, version=8.0.0, phonename=Mate10}]    public List getOnlineStatus() throws SQLException {        List onlinePhoneInfo = new ArrayList();        String sqlString = "SELECT phonename,udid,version FROM phonestatus WHERE status = 'online'";        pst = conn.prepareStatement(sqlString);        rSet = pst.executeQuery();        //getMetaData獲得表結構,getColunmCount獲得欄位數        int num = rSet.getMetaData().getColumnCount();        while (rSet.next()) {            Map mapOfColValues = new HashMap(num);            for (int i = 1; i<= num; i++) {                //getColunmName獲取欄位名                mapOfColValues.put(rSet.getMetaData().getColumnName(i),rSet.getObject(i));            }            onlinePhoneInfo.add(mapOfColValues);            System.out.println(mapOfColValues);        }        System.out.println(onlinePhoneInfo);        return onlinePhoneInfo;    }
// 查詢資料庫內手機線上狀態的裝置資訊,得到的是List<Map<>>格式 // 例如[{udid=7b45c30, version=7.1.1, phonename=MiNote3}, {udid=UYT7N17B16002687, version=8.0.0, phonename=Mate10}] public List getOnlineStatus() throws SQLException { List onlinePhoneInfo = new ArrayList(); String sqlString = "SELECT phonename,udid,version FROM phonestatus WHERE status = 'online'"; pst = conn.prepareStatement(sqlString); rSet = pst.executeQuery(); //getMetaData獲得表結構,getColunmCount獲得欄位數 int num = rSet.getMetaData().getColumnCount(); while (rSet.next()) { Map mapOfColValues = new HashMap(num); for (int i = 1; i<= num; i++) { //getColunmName獲取欄位名 mapOfColValues.put(rSet.getMetaData().getColumnName(i),rSet.getObject(i)); } onlinePhoneInfo.add(mapOfColValues); System.out.println(mapOfColValues); } System.out.println(onlinePhoneInfo); return onlinePhoneInfo; }

資料庫中查詢的資料如上圖,rSet.getMetaData()獲取資料庫結構

1、rs.getMetaData().getTableName(1))就可以返回表名 
2、rs.getMetaData().getColumnCount()欄位數 

3、rs.getMetaData().getColumnName(i));欄位名

上面程式碼,迴圈3個欄位名,並put(欄位名,對應的value),

並存入map

再把map,add到陣列中