为 DB2 XML 数据开发 Java 应用程序
2009-11-12 00:00:00 来源:WEB开发网插入字符串时进行验证
正如您所预期的,验证作为字符串提供的 XML 文档只需要很少的额外编程工作。实际上,只需要修改一行代码 —— query 变量的定义。只需要将 INSERT 语句更改为调用 XMLValidate 函数,就像在 清单 4 中所做的一样。
下面是修订后的语句:
清单 6. 从字符串插入 XML 数据时进行验证
String query = "INSERT INTO clients (id, name, status contactinfo) " +
"VALUES (?, ?, ?, xmlvalidate(? according to xmlschema id user1.mysample))";
查询 XML 数据
既然知道了如何使用 Java 程序将 XML 数据插入 DB2 中,就可以开始查询 XML 数据了。本节中要详细介绍几个例子,从一个简单的任务(比如检索整个 XML 文档)开始,再前进到比较难的任务(比如基于 XML 和关系查询谓词返回部分 XML 文档)。
尽管 DB2 同时支持 SQL 和 XQuery 作为顶层语言,但是 XQuery 不提供解析参数标志符的手段。作为实际问题来讲,这意味着不仅仅需要硬编码查询谓词的应用程序中的任何 XQueries 都必须使用 SQL/XML 函数(XMLQuery 或 XMLExists)封装在一个 SQL 语句中。 "使用 SQL 查询 DB2 XML 数据"(developerWorks,2006 年 3 月)更详细地讨论了这些函数。在这里,您将看到如何在 Java 程序中使用它们。只是为了好玩,您将看到如何在应用程序中包含一个具有硬编码查询谓词的 XQuery。
检索完整的 XML 文档
我们的第一个基于查询的方法相当简单。它只检索一个给定客户的全部联系信息。这种自然的查询很容易用 SQL 来表达。所以,如果熟悉 JDBC,您应该容易理解该代码。
清单 7 中的 simpleQuery() 方法声明几个变量,然后使用 清单 2 中定义的 helper 方法建立一个数据库连接。query 字符串包含一个简单的 SQL 语句来选择指定客户的所有联系信息。执行该语句之后,应用程序输出已经取入字符串变量(stringDoc)中的结果。
更多精彩
赞助商链接