日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java数据库查询,获得离线数据集的解决办法。

發布時間:2025/7/14 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java数据库查询,获得离线数据集的解决办法。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JDBC數據庫編程的時候,通常使用ResultSet的話,但數據庫連接關閉后,就不能讀取值了。為了使得數據庫連接關閉后依然能夠讀取值,就需要吧ResultSet中的值轉到一變量中。本文提供2種方式。

一種是使用類型List<Map<String, Object>>

代碼如下:

  • rs?=?pstmt.executeQuery();?
  • ?
  • ResultSetMetaData?rsm?=?rs.getMetaData();?
  • ?
  • List<Map<String,?Object>>?result?=?new?ArrayList<Map<String,?Object>>();?
  • while?(rs.next())?{?
  • Map<String,?Object>?map?=?new?TreeMap<String,?Object>();?
  • for?(int?index?=?1;?index?<=?rsm.getColumnCount();?index++)?{?
  • map.put(rsm.getColumnName(index),?rs.getObject(index));?
  • }?
  • result.add(map);?
  • }?
  • ------------------------------

    然后遍歷的時候只需要提供列名就可以了。

  • for(Map<String,?Object>?item:l)??????
  • {????????????????????????????????????
  • System.out.print(item.get("id"));????
  • System.out.print(item.get("name"));??
  • System.out.print(item.get("age"));???
  • System.out.println();????????????????
  • }??
  • 還有一種使用CachedRowSetImpl類,此類的文檔在http://docs.oracle.com/cd/E17824_01/dsc_docs/docs/jscreator/apis/rowset/com/sun/rowset/CachedRowSetImpl.html#populate(java.sql.ResultSet)。

    此類的使用也很簡單,調用populate方法就可以從ResultSet中獲得數據。

  • rs?=?pstmt.executeQuery();?
  • CachedRowSetImpl?crs?=?new?CachedRowSetImpl();?
  • crs.populate(rs);?
  • return?crs;?
  • 遍歷的時候:

  • while?(crs.next())?{?
  • ???????System.out.print(crs.getObject("id"));??
  • ???????System.out.print(crs.getObject("name"));??
  • ???????System.out.print(crs.getObject("age"));??
  • ???????System.out.println();??
  • ???}?
  • -------------------------------------

    在使用此類的時候,發現一個問題Eclipse無法找到這個類,因此也無法自動的import。解決辦法是在build path中,刪除JRE后重新Add一次就OK了。不知道為什么會有這個問題。

    轉載于:https://blog.51cto.com/cnn237111/1132138

    總結

    以上是生活随笔為你收集整理的Java数据库查询,获得离线数据集的解决办法。的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。