1. 程式人生 > >遍歷ResultSet結果集的列資訊

遍歷ResultSet結果集的列資訊

現在的SSH開發框架非常流行,使得大家都有點忘記了JDBC的用法。筆者在工作中剛好遇到一個場景,由於對效能有較高要求,並且儘可能採用輕量級的技術方案,最終選擇了最原始的JDBC技術。

在功能模組開發的過程中,由於SQL是動態生成的,在獲取結果集後要通過遍歷ResultSet的列,將ResultSet轉換為Map物件,在這裡需要使用到結果集元資料型別。關鍵程式碼如下:

Map<String, Object> dataMap=new HashMap<String, Object>();
Statement st=conn.createStatement();
String sql="select * from BPM_table1"
; ResultSet rs=st.executeQuery(sql); if (rs.next()) { ResultSetMetaData rsMeta=rs.getMetaData(); int columnCount=rsMeta.getColumnCount(); for (int i=1; i<=columnCount; i++) { dataMap.put(rsMeta.getColumnLabel(i), rs.getObject(i)); } }

要注意的是rsMeta.getColumnCount()這個方法,獲取結果集列數,數字是從1開始的。