从JDBC数据库提取对XMLDOM友好的数据

从JDBC数据库提取对XMLDOM友好的数据,第1张

从JDBC数据库提取对XMLDOM友好的数据,第2张

从JDBC数据库中提取XML/DOM友好数据

的当前Java版本提供了完整的工具,可以将关系数据库查询的输出内容转换为XML。最终结果将是一个DOM(文档对象模型)文档对象。使用XSL(可扩展风格语言),可以转换成任何输出格式。本文描述了如何建立一个接口,用它来读取任何与JDBC兼容的关系数据库,并创建一个结果集,该结果集可以转换成任何类型的字符输出。

连接

您必须首先定义一个接口。在这个接口实现之后,它应该能够建立一个数据库连接,向它传递一个SQL查询,读取结果并创建一个DOM文档对象。下面的DataBaseHandler接口定义了与数据库交互的行为(注意,这个示例缺少import语句,因此无法编译)。特别是getDocument()查询返回的文档会被其他进程转换成需要的输出类型,这是独立于数据库的。

公共接口数据库处理程序{

Document getDocument(字符串SQL query);
String getUrlString();
void setUrlString(String urlString);
String get username();

void setUserName(字符串用户名);
String get password();
void setPassword(字符串密码);
String get driver name();
void set driver name(String driver name);
}

这是与数据库交互所需的最低行为。它包括几个get和set方法,以确保数据库驱动程序名称、用户名和密码已经设置,或者可以在以后检索。下面总结了DataBaseHandler的要求:

URL string
username
password
SQL查询string
drivername
调用set方法,getDocument()方法将完成所有实际工作:

Document getDocument(字符串SQL query);

传递给set方法的所有输入可能都已传递给getDocument()方法。从可重用性的角度来看,应该将这两种方法分开,这样类的实现就可以方便灵活地利用这种多输入传递函数。
接口的抽象实现


接下来,我们需要定义一个抽象类,它负责实现大多数需要的行为和操作,但是必须排除那些特定数据库类型需要的行为。AbstractDataBaseHandler执行set和get方法的泛化操作,一旦设置了所有的数据库处理参数,AbstractDataBaseHandler就会执行与数据库交互的泛化操作。唯一需要删除的是与特定数据库类型相关的细节,以及为了获得DataBaseHandler的具体实现而必须定义的设置细节。

Get和set方法负责设置私有类变量;当通过扩展AbstractDataBaseHandler创建数据库处理器对象时,这些私有类变量将会改变。这个过程非常直观且易于理解,如清单a所示。

getDocument()方法中的操作位于try catch块中。一旦数据库事务处理过程中出现任何错误,或者没有设置任何必需的输入参数,就会捕获到错误。SQLException允许多个异常链接在一起,给我们带来了极大的便利。必须遍历SQLException,检查数据库交互过程中所有可能出现的问题。


} catch(sqlexception sqle){
while(sqle!= null){
system . err . println(" * * * * SQLException * * * * \ n ");
system . err . println(" * * SQLState:"+sqle . getsqlstate()+" \ n ");
system . err . println(" * * Message:"+sqle . getmessage()+" \ n ");
System.err.println ("**错误代码:"+sqle . get Error Code()+" \ n ");
system . err . println(" * * * * * * * * * * * * * \ n ");
/*可能有多个异常消息链接在一起。*/
sqle = sqle . get next exception();

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 从JDBC数据库提取对XMLDOM友好的数据

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情