在哪里使用jdbc Rowsets?

时间:2012-11-23 10:43:10

标签: java sql jdbc

有一些JDBC 行集,如 CachedRowSet WebRowSet FilteredRowSet JoinRowSet 。有没有预知他们在哪里使用? 好吧,可能是CachedRowSet很好,我不想打开和连接,可能是WebRowSet好我需要插入一些XML数据(“可能是”,但我不确定)。但是其他人呢?

显然,在SQL查询中编写连接而不是创建2 JoinRowSet,从中获取所有数据并在java中连接字段更好。关于FilteredRowSet也是如此 - 将where子句添加到SQL查询而不是grub大量数据并通过java过滤它更有效。

但有人“发明了”CachedRowSet,WebRowSet,FilteredRowSet和JoinRowSet为什么?有没有人对它们的使用有一些很好的经验?

3 个答案:

答案 0 :(得分:4)

CachedRowSet接口定义了所有已断开连接的RowSet对象可用的基本功能。其他三个是CachedRowSet接口的扩展,它提供了更多的专用功能。以下信息显示了它们的相关性:

CachedRowSet 对象具有JdbcRowSet对象的所有功能,并且还可以执行以下操作:

  • 获取与数据源的连接并执行查询。
  • 从生成的ResultSet对象中读取数据,并用
    填充自身 那个数据。
  • 操作数据并对数据进行更改 断开。
  • 重新连接到数据源以将更改写回 它。
  • 检查与数据源的冲突并解决这些问题 冲突

WebRowSet 对象具有CachedRowSet对象的所有功能,并且还可以执行以下操作:

  • 将自己写为XML文档
  • 阅读描述WebRowSet对象的XML文档

JoinRowSet 对象具有WebRowSet对象的所有功能(因此也具有CachedRowSet对象的功能),并且还可以执行以下操作:

  • 形成等效的SQL JOIN,而不必连接到数据源

FilteredRowSet 对象同样具有WebRowSet对象的所有功能(因此也是CachedRowSet对象),并且还可以执行以下操作:

  • 应用过滤条件,以便只显示所选数据。这相当于在RowSet对象上执行查询,而不必使用查询语言或连接到数据源。

答案 1 :(得分:0)

RowSet接口,从JDBC数据源检索行,但可以自定义行集,以便其数据也可以来自电子表格,平面文件或具有表格格式的任何其他数据源。

已断开连接(未连接到数据源,除非从数据源读取数据或向其写入数据)

CachedRowSet

JoinRowSet

FilteredRowSet

WebRowSet

缓存行集 - 断开连接并且无需驱动程序即可运行,旨在与瘦客户端一起使用,以便在分布式应用程序中传递数据或使结果集可滚动和可更新

WebRowSet - 以XML格式读取和写入行集的功能。

FilteredRowSet-用于来自行集的过滤数据子集。

JoinRowSet -used用于组合来自两个不同RowSet对象的数据。当相关数据存储在不同的数据源中时,这可能特别有用

Documentation

答案 2 :(得分:0)

不确定,但这是我对FilteredRowSet的看法。人们可以通过一次连接来获取数据库中的数据。例如,城市,州和国家的数据。稍后,可以进一步将数据进行子集化,返回到Java中的数据库。例如与城市或州或国家或其组合相关的所有记录。