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

显然,在SQL查询中编写联接而不是创建2 JoinRowSet,从中获取所有数据并在Java中联接字段,对于性能而言会更好。与FilteredRowSet相同-在SQL查询中添加where子句,而不是grub大量数据并由Java过滤,效率更高。

但是有人“发明”了CachedRowSet,WebRowSet,FilteredRowSet和JoinRowSet为什么呢?是否有人对使用有一些好的经验?

最佳答案

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

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

  • 获取与数据源的连接并执行查询。
  • 从结果ResultSet对象中读取数据,并使用以下数据填充自身:
    该数据。
  • 处理数据并对其进行更改
    断开连接。
  • 重新连接到数据源以将更改写回到
    它。
  • 检查与数据源的冲突并解决那些冲突
    冲突

  • WebRowSet 对象具有CachedRowSet对象的所有功能,此外,它还可以执行以下操作:
  • 将自己编写为XML文档
  • 阅读描述WebRowSet对象
  • 的XML文档

    JoinRowSet 对象具有WebRowSet对象的所有功能(因此也具有CachedRowSet对象的功能),并且它还可以执行以下操作:
  • 形式等效于SQL JOIN,而不必连接到数据源

  • FilteredRowSet 对象同样具有WebRowSet对象的所有功能(因此也具有CachedRowSet对象),此外,它还可以执行以下操作:
  • 应用过滤条件,以便仅可见选定的数据。这等效于在RowSet对象上执行查询,而不必使用查询语言或连接到数据源。
  • 10-07 16:35