一种XML文档和关系数据库的映射方法

 XML 文档以其平台无关性、自描述性、统一标准、多语言支持等优势得到越来越多的应用,由于目前大多数平台和语言对XML都有很好的支持,因此在不同系统之间进行数据交互时XML能充分发挥其优势,但XML主要是用于临时传输数据,这些数据最终还是要保存到数据库系统,因此能用统一的方法将XML格式数据方便地保存到数据库中可极大简化程序开发。

如果对每种XML文件都去解析然后用SQL写入数据库,其工作量会随XML数量的增多而急剧增加,并且维护困难。 另外一种方法是将XML文件先转化为对象,然后利用O/R mapping工具将对象写入数据库,这种方法不足在于XML转为对象和对象映射到数据库都要维护映射文件,这些映射文件需要仔细维护其和数据库结构的一致性,变更很不方便,一不小心就回发生错误。并且由XML到对象,对象再到数据库,其运行效率也大打折扣。

要解决这个问题,可利用XML的自描述性,在包含入库数据的XML文档中加入数据库结构信息,避免使用另外的映射文件来描述数据库结构。当数据库结构变化时,只要修改生成XML文档的程序。另外,XML数据直接解析入库,没有转为对象的过程,运行效率会更高。

基于这个思路,开发了一个XML和数据库之间的映射工具myXDM,用来将XML保存到数据库或从数据库中查询数据保存为XML文档。

该工具的特点如下:

  1. 对XML文档格式要求不高,现有的的XML处理程序都能很容易生成该工具能处理的XML文档。
  2. 支持在一个XML文档中包含多个表的数据,表之间可以是主从关系,主从关系可以嵌套,也可以完全没有关系。
  3. 支持大部分可用JDBC访问的数据库。
  4. 支持大尺寸数据字段(BLOB,CLOB)。
  5. 支持表级、记录级事务控制。

更多的信息可下载该工具参考试用,下载地址:

 http://sourceforge.net/projects/myxdm

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值