2012-11-23 40 views
5

有一些JDBC 行集的CachedRowSetWebRowSet的FilteredRowSet的JoinRowSet中。任何預兆知道他們在哪裏使用? 好吧,可能是CachedRowSet是我不希望打開和連接的地方,可能是WebRowSet,當我需要插入一些XML數據(「可能」但我不確定)時。但其他人呢?在哪裏使用jdbc Rowsets?

顯然,在SQL查詢中編寫連接而不是創建2 JoinRowSet,從它們獲取所有數據並在java中連接字段會更好。關於FilteredRowSet也是如此 - 將where子句添加到SQL查詢會更有效,而不是grub中的大量數據並通過java進行過濾。

但有人「發明了」CachedRowSet,WebRowSet,FilteredRowSet和JoinRowSet爲什麼?有人對他們的使用有一些很好的經驗嗎?

回答

0

RowSet接口中,行是從JDBC數據源中檢索的,但行集可能是自定義的,以便其數據也可以來自電子表格,平面文件或具有表格格式的任何其他數據源。

斷開(不連接到數據源,除了從它讀取數據或寫入時的數據的話)

CachedRowSet 

JoinRowSet 

FilteredRowSet 

WebRowSet 

緩存行集 - 斷開和能夠在沒有駕駛員進行操作,被設計爲工作特別好用於在分佈式應用程序中傳遞數據的瘦客戶機或用於製作可滾動和可更新結果集的瘦客戶機

WebRowSet - 以XML格式讀取和寫入行集的能力。

FilteredRowSet-用於行集合中已過濾的數據子集。

JoinRowSet - 用於合併來自兩個不同RowSet對象的數據。當相關的數據存儲在不同的數據源

Documentation

2

CachedRowSet接口定義適用於所有非連接RowSet對象的基本功能,這可以是特別有價值。另外三個是CachedRowSet接口的擴展,它提供了更多特殊的功能。下面的信息顯示它們之間的關係:

一個的CachedRowSet對象有JdbcRowSet對象的所有功能,再加上它也可以做到以下幾點:

  • 獲取到數據源的連接並執行查詢。
  • 從結果ResultSet對象讀取數據,並使用
    填充數據。
  • 操作數據並對數據進行更改,但它是
    斷開連接。
  • 重新連接到數據源將其更改回 它。
  • 檢查與數據源的衝突和解決這些
    衝突

一個的WebRowSet對象有一個CachedRowSet對象的所有功能,此外它也可以做到以下幾點:

  • 寫本身作爲XML文檔
  • 讀取描述WebRowSet對象的XML文檔

JoinRowSet中對象具有WebRowSet對象的所有功能(並且因此也那些CachedRowSet對象的)再加上它也可以執行以下操作:

  • 形式一個SQL的等效JOIN而不必連接到數據源

FilteredRowSet的對象同樣地具有WebRowSet對象的所有功能(並且因此也CachedRowSet對象),加上它也可以執行以下操作:

  • 應用過濾條件,以便只有選定的數據可見。這相當於在RowSet對象上執行查詢,而不必使用查詢語言或連接到數據源。
0

不知道,但這是我想到的FilteredRowSet。通過一次連接就可以從數據庫中獲取數據。例如城市,州和國家的數據。稍後,人們可以進一步將數據的子集與迴歸到Java中的數據庫。如與城市或州或國家有關的所有記錄或它們的組合。