类 com.ibm.etools.sqltoxml.SQLToXML

java.lang.Object
                com.ibm.etools.sqltoxml.SQLToXML

公用类 SQLToXML 扩展 java.lang.Object

此类提供了应用程序(例如,“SQL 至 XML”向导)用来执行数据库查询的方法。获取的查询结果具有 XML 格式。(可选)可以将结果生成相应的 DTD、XML 模式和 XSL 文件。

表 1. 构造函数索引
构造函数 描述
SQLToXML(QueryProperties) 这是唯一的构造函数。
表 2. 方法索引
方法 描述
void execute() 根据作为构造函数自变量给定的 QueryProperties 中的信息来执行查询。
void execute(PrintWriter, , String, PrintWriter) 不推荐 根据 QueryProperties 中的信息来执行查询并且将结果写至 PrintWriter 和/或文件中。
void execute(String, PrintWriter, String, String, PrintWriter) 不推荐。 根据 QueryProperties 中的信息来执行查询并且将结果写至 PrintWriter 和/或文件中。
void execute(String, String, String, String) 不推荐。 根据 QueryProperties 中的信息来执行查询并且将结果写至文件中。
void finalize() 关闭连接(如果这是由 SQLToXML 创建的话)。
Connection getConnection() 返回数据库连接。
Document getCurrentDocument() 返回 XML 文档,它是最近调用 execute() 方法获得的结果。
Document[] getCurrentDocuments() 返回 XML 文档数组,它是最近调用 execute() 方法获得的结果。
String getDTDFile() 返回要生成的当前 DTD 文件名。
String getNextAllQuery() 返回有效的查询字符串。
Vector getNextQueries() 返回有效的查询字符串的序列。
String getParameters()  返回 where 子句的参数值。
String getXMLFile() 返回要生成的当前 XML 文件名。
PrintWriter getXMLWriter() 返回 XML 输出的当前 PrintWriter。
String getXSDFile()           返回要生成的当前 XML 模式文件名。
 String getXSLFile() 返回要生成的当前 XSL 文件名。
PrintWriter getXSLWriter() 返回 XSL 输出的当前 PrintWriter。
void setConnection(Connection) 提供要用来生成 XML 文件的 JDBC 连接。
void setDTDFile(String) 设置要生成的 DTD 文件名。
void setGenDocType(Boolean) 不推荐 控制是否为了进行验证而生成 DTD 或 XML 模式文件。
void setIndenting(Boolean) 将缩进设置为“打开”和“关闭”。
void setMaxRows(int) 将要在生成的 XML 中检索的最大行数的限制设置为最大值。
void setParameters(String) 设置 where 子句的参数值。
void setQueryProperties(QueryProperties) 覆盖当前的 queryProperties。
void setXMLFile(String) 设置要生成的 XML 文件名。
void setXMLWriter(String) 设置生成的 XML 所指向的 PrintWriter。
void setXSDFile(String) 设置要生成的 XML 模式文件名。
void setXSLFile(String) 设置要生成的 XSL 文件名。
void setXSLWriter(String) 设置生成的 XSL 所指向的 PrintWriter。
从类 java.lang.Object 继承的方法
equals、getClass、hashCode、notify、notifyAll、toString、wait、wait 和 wait

构造函数

SQLToXML

public SQLToXML(QueryProperties qProperties)

这是唯一的构造函数。

方法

execute
public void execute() throws java.lang.Exception

根据作为构造函数自变量给定的 QueryProperties 中的信息来执行查询。可以生成的构件包括 XML、XML 模式、DTD 和 XSL 文件。要生成除 XML 之外的构件,在使用此方法之前需要通过使用相关集 accessor 来提供文件名或 PrintWriter。另外,可以通过 getCurrentDocument() 或 getCurrentDocuments() 方法调用来获得作为 DOM 文档的 XML 输出。

抛出:java.lang.Exception - 当执行失败时抛出。

execute
public void execute(PrintWriter xml,
                                        String dtdfile,
                                        String xsdfile,
                                        PrintWriter xsl) throws Exception

不推荐根据 QueryProperties 中的信息来执行查询,并且将结果写至 PrintWriter 和/或文件。当除“xml”之外的任何自变量为空时,则不为该特定自变量生成结果。并且,如果指定了 dtdfile 和 xsdfile,则将只生成 xsdfile。

execute
public void execute(String params,
                                        PrintWriter xml,
                                        String dtdfile,
                                        String xsdfile,
                                        PrintWriter xsl) throws Exception

不推荐根据 QueryProperties 中的信息来执行查询,并且将结果写至 PrintWriter 和/或文件。当除“xml”之外的任何自变量为空时,则不为该特定自变量生成结果。并且,如果同时指定 dtdfile 和 xsdfile,则只生成 xsdfile。当查询包含 where 子句并在 String 自变量“params”中给出了它的约束时,使用此方法。这些约束参数在自变量中是使用逗号(,)来定界的。

execute
public void execute(String xmlfile,
                                        String dtdfile,
                                        String xsdfile,
                                        String xslfile) throws Exception

不推荐根据 QueryProperties 中的信息来执行查询并且将结果写至文件。当除“xml”之外的任何自变量为空时,则不为该特定自变量生成结果。并且,如果指定了 dtdfile 和 xsdfile,则将只生成 xsdfile。 

finalize
public void finalize() 

关闭连接(如果这是由 SQLToXML 创建的话)。如果该连接是以外部方式提供的(通过使用 setConnection()),则不关闭该连接。当对 SQLToXML 进行垃圾回收时,JVM 调用此方法。

getConnection
public Connection getConnection() throws Exception

返回数据库连接。如果不存在连接,则此方法使用来自 QueryProperties 的值创建新连接。

getCurrentDocument
public Document getCurrentDocument() 

返回 XML 文档,它是最近调用 execute() 方法获得的结果。如果使用了带有 RECURSIVE 选项的 GENERATE_ID_AND_IDREF,则将返回主 XML 文档。

getCurrentDocuments
public Document[] getCurrentDocuments() 

返回 XML 文档数组,它是最近调用 execute() 方法获得的结果。除非使用了带有 RECURSIVE 选项的 GENERATE_ID_AND_IDREF,否则,结果将只包含一个文档。

getDTDFile
public java.lang.String getDTDFile()

返回要生成的当前 DTD 文件名。

getNextAllQuery
public String getNextAllQuery()

返回有效的查询字符串。只有在下列情况下,此方法才返回有效的查询字符串:

 1) 格式选项为 ID_AND_IDREF,并且
 2) 递归选项为“TRUE”
例如,如果当前查询中的一列是表 A 的主键列的外键,则将返回字符串“select * from A”。有关此方法的典型用法的信息,参阅样本 servlet XMLIntegratorServlet.java。
getNextQueries
public Vector getNextQueries() 

返回有效的查询字符串的序列。只有在下列情况下,此方法才返回有效查询字符串的向量(Vector):

  1) 格式选项为 ID_AND_IDREF,并且
  2) 递归选项为“TRUE”
例如,如果当前查询中的一列是表 A 的主键列标识(值为 123)的外键,这将返回字符串“select * from A where ID = 123”。有关此方法的典型用法的信息,参阅样本 servlet XMLIntegratorServlet.java。
getParameters
public java.lang.String getParameters()

返回 where 子句的参数值。

getXMLFile
public java.lang.String getXMLFile()

返回要生成的当前 XML 文件名。

getXMLWriter
public java.io.PrintWriter getXMLWriter()

返回 XML 输出的当前 PrintWriter。

getXSDFile
public java.lang.String getXSDFile()

返回要生成的当前 XML 模式文件名。

getXSLFile
public java.lang.String getXSLFile()

返回要生成的当前 XSL 文件名。

getXSLWriter
public java.io.PrintWriter getXSLWriter()

返回 XSL 输出的当前 PrintWriter。

setConnection
public void setConnection(Connection jdbcConnection) 

提供要用于生成 XML 文件的 JDBC 连接。当应用程序要使用自己的连接管理机制(如连接池)时,此方法变得很有用。如果在调用任何 execute() 方法之前未调用此方法,则 SQLToXML 使用 QueryProperties 的值来创建它自己的连接。

setDTDFile
public void setDTDFile(java.lang.String filename)
                        throws java.lang.Exception

设置要生成的 DTD 文件名。此方法不能与 setXSDFile(String) 一起使用。

setGenDocType
public void setGenDocType(Boolean value) 

不推荐控制是否为了进行验证而生成 DTD 或 XML 模式文件。缺省情况下,该值设置为 true(对于开发时),或设置为 false(对于运行时)。对运行时应用程序(例如,servlet)将该值设置为 true 将导致性能有所降低

setIndenting
public void setIndenting(Boolean flag) 

将缩进设置为“打开”和“关闭”。缺省情况下,将缩进设置为“打开”。

setMaxRows
public void setMaxRows(int max) 

将对要在生成的 XML 中检索的最大行数的限制设置为最大值。缺省情况下,没有任何限制。

setParameters
public void setParameters(java.lang.String parameters)
设置 where 子句的参数值。当查询中包含 where 子句时就将使用此方法。例如,
select * from EMPLOYEE where EMP_NO = :empno 
在以上示例中,在参数自变量中给出了要替换 :empno 的值。如果有多个约束值,则它们将象以下示例中一样在参数中使用逗号(,)定界。
 String params = "87316,'Toronto'";   
  sqltoxml.setParameters(params); 
setQueryProperties
public void setQueryProperties(QueryProperties qProperties)

覆盖当前的 queryProperties。

setXMLFile
public void setXMLFile(java.lang.String filename)
                        throws java.lang.Exception

设置要生成的 XML 文件名。此方法不能与 setXMLWriter(PrintWriter) 一起使用。

setXMLWriter
public void setXMLWriter(java.io.PrintWriter writer)
                        throws java.lang.Exception

设置生成的 XML 所指向的 PrintWriter。此方法不能与 setXMLFile(String) 一起使用。

setXSDFile
public void setXSDFile(java.lang.String filename)
                        throws java.lang.Exception

设置要生成的 XML 模式文件名。此方法不能与 setDTDFile(String) 一起使用。

setXSLFile
public void setXSLFile(java.lang.String filename)
                        throws java.lang.Exception

设置要生成的 XSL 文件名。此方法不能与 setXSLWriter(PrintWriter) 一起使用。

setXSLWriter
public void setXSLWriter(java.io.PrintWriter writer)
                        throws java.lang.Exception

设置生成的 XSL 所指向的 PrintWriter。此方法不能与 setXSLFile(String) 一起使用。

相关任务
使用向导从 SQL 生成 XML
使用 XMLToSQL 类更新表
相关参考
类 com.ibm.etools.sqltoxml.QueryProperties
类 com.ibm.etools.xmltosql.XMLToSQL
类 com.ibm.etools.xmltosql.SQLProperties
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.