代码之家  ›  专栏  ›  技术社区  ›  Ravi Wallau

是否有类似于.NETDataView/DataSetforJava的东西,我可以在其中快照一些数据,然后对其执行查询?

  •  1
  • Ravi Wallau  · 技术社区  · 15 年前

    在我们的应用程序中,我们 快照 使用超级用户输入的查询从数据库中获取数据,然后使用XML保存快照中的数据。如果我使用的是.NET,我会使用DataSet(+DataTables)和DataViews,它们非常适合这个目的。但我身处Java世界,我的冲动选择是使用XML存储快照数据(这在项目的这个阶段很容易改变)。

    有没有什么东西可以让您在不必先为Java平台创建数据结构的情况下对数据进行快照,就像.NET的数据集那样,并且允许您稍后对该数据执行查询?我曾考虑将其存储在数据库中或使用apachelucene,但对于这两种方法,我都必须管理数据库结构,我不希望这样做。

    问题2

    假设您有以下XML:

    <data>
    <record>
       <user>ravi</user>
       <age>32</age>
       <city>calgary</city>
    </record>
    <record>
       <user>spiderman</user>
       <age>68</age>
       <city>new york</city>
    </record>
    </data>
    

    对于这些数据,我将执行以下查询:

    age > 50 or city = 'new york'
    

    该操作的结果将是原始XML的一个子集,其中只有与查询中的条件匹配的记录。

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  1
  •   ewernli    15 年前

    有一种类似的东西叫做 RowSet ,这是JDBC规范的一部分 CacheRowSet 可以在以后进行操作甚至更新。好像还有一个 FilteredRowSet ,以便创建只显示所需数据的视图。

    这看起来与ADO.NET相对类似 DataView DataSet . 还要注意的是 在爪哇岛并不流行。