欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

Java技术在XML和数据库通信技术中的应用

时间:2011-04-23  作者:秩名

论文导读:我们知道XML和数据库的通信技术有三种。Java技术在实现这些技术方面具有不可替代的地位。利用Servlet能够实现XML和数据库的通信。
关键词:XML,Java,数据库
 

引言:我们知道XML和数据库的通信技术有三种。Java技术在实现这些技术方面具有不可替代的地位。下面来简单讨论一下三种技术的具体实现,每一部分讲解一种技术的实现。

一、通过Java Servlet实现XML文档和数据库通信技术-DOM API

对 Java 程序员来说,Servlet 和 XML 是最令人振奋的两项技术。利用Servlet能够实现XML和数据库的通信,而且利用Servlet还能构造XML文档。

1.用Java Servlet 实现XML数据存储到数据库。

(1)利用Java Servlet 构建XML 文档

构建XML文档数据,可以是从客户传过来的Http参数,这是因为很多的商务系统就是在客户端不断的为用户呈现、接收、发送数据,见附录A[1]代码。

(2)解析XML文档,把数据存到数据库

我们可以用现在已有的一些DOM API,在解析XML文档时,在内存中已经存在了一个DOM树。也可以自己编写DOM树,生成一个DOM树,然后可以对这棵DOM树进行分析,不断的把这些信息存到数据库。

2.用Java Servlet 实现把数据库中的数据生成XML文档

把从数据库查询出来的数据生成XML文档,见附录A[2]代码。

二、利用Java环境实现XML和数据库通信技术-对象-关系映射(ORM)

在Java环境下,有多种对象关系映射方法,如实体Bean、OJB、JDO、JDBC等。Hibernate是一种新的O/R映射工具,它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制。它能和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。这几种方法都是有共性的,我们就以其中Hibernate为例,来具体的说明这种技术的实现方法[24]。

具体的实现如下:

1.配置Hibernate(一次即可)

Hibernate的真正运行需要一个服务器,所以首先要把Hibernate部署在服务器中。安装服务器,然后安装Hibernate的运行环境(主要是一些Jar包)。下载JDBC的驱动程序。建立Hibernate的应用目录Hibernate。把Hibernate2.jar及第三方的运行库放到Hibernate目录的Lib目录中。配置服务器的服务配置文件server.xml,主要是关于Hibernate的Web应用及数据源。然后再配置Hibernate的配置描述符,一般是XML文件,起名为hibernate.cfg.xml。

2.确定数据表

就是在对象-关系映射中和类对应的数据库表。我们使用hibernate来封装数据表,利用数据库脚本创建数据库表。

3.书写数据库表映射的类

根据映射的原理,写和数据库表对应的类。论文参考网。

4.书写对象-关系的映射描述

它是作为XML和数据库之间映射的中间件。对于Hibernate来说就是利用一个XML文件,在这个映射文件中,指定了要映射的类和映射的表,并且指定了表的各个字段和Java对象中各个字段的映射关系。

5.指定这种映射关系

在Hibernate的配置描述符hibernate.cfg.XML中指定这种映射关系。方法如下:

〈session-factory>

<mapping source=”???” ></mapping-file>//???代表映射描述的源文件的

//名称

</session-factory>

6.编写业务逻辑

上面的5个步骤已经实现了对象-关系的映射。怎么利用这种技术为web应用服务。论文参考网。方法如下:

先生成一个sessionFactory的会话工厂,以用作会话。然后开始一个会话和一个事务。当对数据库进行增(save(object))删(delete(course))查(createQuery(queryString))改操作,操作完成之后,再把会话和事务结束。不需要书写任何的数据库连接,就可以进行操作。

三、利用Java语言实现XML文档作为一个对象存储在数据库的技术

这一种方法比较简单,具体的实现如下:

创建XML文档

1.把XML文档中的标签“<>”替换成“<>”

这时候XML就是一个纯粹的字符串,接下来就是把处理过的字符串存储在数据库的一个字段里。

当需要把这个XML文档发送到客户端时,需要下面的操作:

2.从数据库中把这个字段的值查询出来

3.对这个字符串进行处理

把字符串中的字符“<”和“>”替换成“<”和“>”。这时候字符串又重恢复成一个XML文档,就可以直接的发送到客户端进行显示。具体的代码见附录B。

四、比较几种技术实现的优缺点

1.利用DOMAPI技术实现XML数据存储在数据库中。这一种方法,是现在比较流行,很多企业正在采用的方法,所以技术比较成熟,运行效率比较高。但是DOM树必须在内存中建立语法树,所以比较占内存。

2.第二种方法不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于第一种方法来说,少了很多操作数据库的工作量。论文参考网。但是它还不是一种成熟的技术,所以在国内的企业系统用的比较少。

3.第三种方法是最简单的方法。但是有一点,如果XML文档过大的话,会出现超出字段长度限制的错误。

不管怎么样,随着时代的发展,随着用户需求的不断增多,XML和数据库通信的技术会不断的完善,会出现更多的解决方案。期待美好的未来。

附录A 利用JavaServlet实现DOM技术的代码

1.public void service(HttpServletRequest request,

HttpServletResponse response)

throws IOException, ServletException

{

response.setContentType('text/XML');

PrintWriter out = response.getWriter();

Enumeration keys;

String key;

String requestedSubtree = '';

keys= request.getParameterNames();

while (keys.hasMoreElements())

{

key = (String) keys.nextElement();

if (key.equalsIgnoreCase('subtree'))

requestedSubtree = request.getParameter(key);

}

2.

// 我们在此处对 SQL 语句进行硬编码;如果根据用户输入

// 限制查询,则情况会更为复杂。

String query = 'selectorder from ' + DbOwner + '.sales_order_view';

res.setContentType('text/XML');

try

{

ConInfo index = new ConInfo();

Connection con =getCon(index);

Statement stmt =con.createStatement();

ResultSet rs =stmt.executeQuery(query);

...

// 显示结果集。我们从每行取出 XML 文档,

// 对其进行分析,然后打印DOM 树。当没有更多的行时,rs.next() 返回

// false。 while (rs.next())

{

String nextOrder = rs.getString(1).trim();

Document doc = null;

StringReader sr = new StringReader(nextOrder);

InputSource iSrc = new InputSource(sr);

try

{

parser.parse(iSrc);

doc = parser.getDocument();

}

catch (Exception e)

{

System.err.println('Sorry, anerror occurred: ' + e);

}

参考书籍:

[1] Brett McLauqhlin. Java 和XML. 北京:中国电力出版社,2001:78-79

[2] Britt McLaughlin.Java 和XML. O’Reilly,2001

[3] Nicholas Chase.使用JDBC将数据抽取到XML文档.http://down.xml.org.cn/resour ce/tutorial/ibm/x-extract/index.html

[4] Doug Tidwell. Servlet 和XML:互为补充.IBM的职员网络文章,2000:14-17

[5] Tom Myers. java XML 编程指南.北京:电子工业出版社,2003:200-203

[6] 孙卫琴. 精通Hibernate:java对象持久化技术详解. 北京:电子工业出版社

 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:Java反射技术浅谈
下一篇论文:Java软件保护技术研究
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文