2012-11-23 40 views
5

Có một số JDBC Rowsets như CachedRowSet, WebRowSet, FilteredRowSetJoinRowSet. Có bất kỳ bode biết nơi họ đang sử dụng? Ok, có thể CachedRowSet là tốt nơi tôi không muốn mở và kết nối, có thể là WebRowSet tốt khi tôi cần chèn một số dữ liệu XML ("có thể" nhưng tôi không chắc chắn). Nhưng còn những người khác thì sao? Rõ ràng, nó là tốt hơn cho hiệu suất để viết tham gia vào truy vấn SQL thay vì tạo 2 JoinRowSet, lấy tất cả dữ liệu từ chúng và tham gia các trường trong java. Điều tương tự về FilteredRowSet - nó là hiệu quả hơn để thêm mệnh đề where vào truy vấn SQL thay vì grub rất nhiều dữ liệu và lọc nó bằng java.Trường hợp jdbc Rowsets được sử dụng?

Nhưng ai đó "đã phát minh" CachedRowSet, WebRowSet, FilteredRowSet và JoinRowSet tại sao? Có ai có một số kinh nghiệm tốt về họ sử dụng?

Trả lời

0

Giao diện RowSet, các hàng được lấy từ nguồn dữ liệu JDBC, nhưng một hàng có thể được tùy chỉnh sao cho dữ liệu của nó cũng có thể từ bảng tính, tệp phẳng hoặc bất kỳ nguồn dữ liệu nào khác có định dạng bảng.

ngắt kết nối (không kết nối với nguồn dữ liệu trừ khi đọc dữ liệu từ nó hoặc ghi dữ liệu vào nó)

CachedRowSet 

JoinRowSet 

FilteredRowSet 

WebRowSet 

Cached rowSet - bị ngắt kết nối và có thể hoạt động mà không cần một trình điều khiển, được thiết kế để làm việc đặc biệt tốt với một ứng dụng khách mỏng để truyền dữ liệu trong ứng dụng được phân phối hoặc để tạo một tập kết quả có thể cuộn và có thể cập nhật

WebRowSet - khả năng đọc và viết một hàng trong định dạng XML.

FilteredRowSet- được sử dụng cho tập con dữ liệu được lọc từ một rowset.

Tham giaRowSet - được sử dụng để kết hợp dữ liệu từ hai đối tượng RowSet khác nhau. Điều này có thể đặc biệt có giá trị khi dữ liệu liên quan được lưu trữ trong các nguồn dữ liệu khác nhau

Documentation

2

Giao diện CachedRowSet xác định khả năng cơ bản dành cho tất cả đối tượng RowSet ngắt kết nối. Ba phần còn lại là phần mở rộng của giao diện CachedRowSet, cung cấp khả năng chuyên biệt hơn. Các thông tin sau đây cho thấy làm thế nào họ có liên quan:

Một CachedRowSet đối tượng có tất cả các khả năng của một đối tượng JdbcRowSet cộng nó cũng có thể làm như sau:

  • Giành kết nối với một nguồn dữ liệu và thực hiện một truy vấn.
  • Đọc dữ liệu từ đối tượng ResultSet kết quả và điền chính nó với
    dữ liệu đó.
  • Thao tác dữ liệu và thực hiện thay đổi đối với dữ liệu trong khi đó là
    bị ngắt kết nối.
  • Kết nối lại với nguồn dữ liệu để viết thay đổi về .
  • Kiểm tra xung đột với các nguồn dữ liệu và giải quyết những
    mâu thuẫn

Một WebRowSet đối tượng có tất cả các khả năng của một đối tượng CachedRowSet cộng nó cũng có thể làm như sau:

  • Viết chính nó dưới dạng tài liệu XML
  • Đọc tài liệu XML mô tả đối tượng WebRowSet

Một JoinRowSet đối tượng có tất cả các khả năng của một đối tượng WebRowSet (và do đó cũng có những người của một đối tượng CachedRowSet) cộng với nó cũng có thể làm như sau:

  • Mẫu tương đương với một SQL THAM GIA mà không cần phải kết nối với một nguồn dữ liệu

một FilteredRowSet đối tượng tương tự như vậy có tất cả các khả năng của một đối tượng WebRowSet (và do đó cũng là một đối tượng CachedRowSet) cộng với nó cũng có thể làm như sau:

  • Áp dụng tiêu chí lọc để chỉ hiển thị dữ liệu đã chọn. Điều này tương đương với việc thực hiện một truy vấn trên một đối tượng RowSet mà không cần phải sử dụng một ngôn ngữ truy vấn hoặc kết nối với một nguồn dữ liệu.
0

Không chắc chắn nhưng đây là những gì tôi nghĩ về FilteredRowSet. Người ta có thể lấy dữ liệu từ cơ sở dữ liệu bằng cách tạo kết nối trong một lần chụp. Ví dụ dữ liệu cho thành phố, tiểu bang và quốc gia. Sau đó người ta có thể tiếp tục tập hợp dữ liệu bằng cách ra quay trở lại cơ sở dữ liệu trong Java. Chẳng hạn như tất cả các hồ sơ liên quan đến thành phố hoặc tiểu bang hoặc quốc gia hoặc kết hợp của chúng.

Các vấn đề liên quan