Java理论与实践:在没有数据库的情况下进行数据库查询 - 编程入门网
数据库有多烦人
HSQLDB 方法是一个可行方法,但您很快就发现,我必须为对象关系的不匹配 而两次(而不是一次)受罚 —— 一次是在将树型结构数据库转换为关系数据模 型时,一次是在将平面关系查询结果转换成结构化的 XML 或者 HTML 结果集时 。此外,将 JDBC ResultSet 后处理为 DOM 表示形式的 XML 或者 HTML 文档也 不是一项很容易的任务,需要为每一个报告提供一些定制的编码。因此虽然内存 中的 SQL 数据库 的确 可以简化查询,但是从数据库中存入和取出数据所需要 的额外代码会抵消所有节省的代码。 让 XQuery 来拯救您 另一个容易得到的数据查询方法是 XQuery。XQuery 的优点是,它是为生成 XML 或者 HTML 文档作为查询结果而设计的,因此不需要对查询结果进行后处理 。这种想法很有吸引力 —— 每个报告只有一层编码,而不是两层或者更多层。 因此第一项任务是构建一个表示整个数据集的 XML 文档。设计一个简单的 XML 数据模型和编写遍历数据结构,并将每一个元素附加到一个 DOM 文档中的 Visitor 很简单。(不需要写出这个文档。可以将它保持在内存中,用于查询, 然后在完成查询时丢弃它。当底层数据改变时,可以重新生成它。)之后,所有 要做的就是编写 XQuery 查询,该查询将选择并聚集用于报告的数据,并按最终 需要的格式(XML 或 HTML)对它们进行格式化。查询可以存储在单独的文件中 ,以便进行快速原型制造,因此,可支持多种报告格式。使用 Saxon 评估查询 的代码如清单 4 中所示: 清单 4. 执行 XQuery 查询并将结果序列化为 XML 或 HTML 文档的代码
Java理论与实践:在没有数据库的情况下进行数据库查询(3)时间:2010-12-20 IBM Brian Goetz表示数据库的 XML 文档的结构与内存中的数据结构稍有不同,每一个 <site> 元素都有嵌套的 <page> 元素,每一个 <page> 元 素都有嵌套的 <link> 元素,而每一个 <link> 元素都有 <link-to> 和 <link-from> 元素。实践证明,这种表示方法对于 大多数报告都很方便。 清单 5 显示了一个示例 XQuery 报告,这个报告处理链接的选择、分类和表 示。它有几个地方优于 Visitor 方法 —— 不仅代码少(因为查询语言支持选 择、聚积和分类),而且所有报告的代码 —— 选择、聚积、分类和表示 —— 都在一个位置上 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |