
动态Web数据库技术基于JSP和XML技术实现xml与数据库培训课件.ppt
65页王红,,第9章 XML与数据库,2020/7/8,2,主要内容,第9章 XML与数据库 9.1 借助XML文档实现数据库之间数据互换 9.2 文档结构与数据库结构的映射 9.3 SQL Server对XML的支持 9.4 XML数据库 9.5 小 结,2020/7/8,3,,当存在大量数据需要处理分析的话,最好是把这些数据放到数据库中 几乎所有大型应用系统都是和数据库相关联的,所以如果XML需要在这些领域大展宏图的话,必须要和数据库相联系,2020/7/8,4,9.1 借助XML文档实现数据库之间数据互换,XML提供了一种连接关系数据库和面向对象数据库以及其他数据库管理系统之间的纽带 关系数据库和面向对象数据库首先需要将数据从数据库中提取出来,经过转换或直接以XML数据形式发布到网上(局域网或Internet网),然后相互交换数据,经应用层系统处理后在转存入库 开发一个访问数据库的XML应用系统需要同时借助XML编程接口和数据库编程接口,前者用于对XML文档的解析、定位和查询,后者则是用于访问数据库,2020/7/8,6,XML和数据库,XML 文档在数据量较小和用户较少的环境中可以当作数据库使用 本地 XML 数据库 专门设计用于存储 XML 文档的数据库,2020/7/8,7,9.1.1 将XML数据插入数据库,将 XML 数据插入数据库的步骤: 使用 Class.forName() 方法加载缺省驱动器 使用 DriverManager 对象的 getConnection() 方法建立数据库连接 使用 Connection 对象创建 Statement 对象 将已解析的 XML 文档放在 Document 对象中 使用 getElementsByTagName() 方法检索其元素 使用 Insert 语句将数据插入数据库,2020/7/8,8,将XML中的数据插入数据库,,2020/7/8,9,实例,下面例xml2db.java,将candidate.xml文档中的数据存储到一个ACCESS数据库people中 表的结构如图9-1所示,2020/7/8,10,实例,import java.sql.*; import javax.xml.parsers.*; import org.w3c.dom.*; public class xml2db static Connection con; static String nm, add, tel, fax, email, sql; public static void main(String args) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver ); con = DriverManager.getConnection(jdbc:odbc:people, , ); Statement stmt = con.createStatement();,2020/7/8,11,实例(续),,DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document doc=builder.parse(candidate.xml); NodeList nl =doc.getElementsByTagName(PERSON); for (int i=0;i 映射可以有两类:模板驱动和模型驱动2020/7/8,24,9.2.1 基于模板驱动的映射,基于模板的映射方法并不事先定义好XML文档与其他数据之间的映射关系,而是在XML文档中嵌入带参数的SQL命令 这些命令在转换过程中被系统所识别和执行,执行的结果被替换到指令所在的位置,从而生成目标XML文档.并用数据传输诸如中间件等实体软件进行处理,2020/7/8,25,9.2 文档结构与数据库结构的映射,比如,考虑下面的模板 : ?xml version=1.0?FlightInfoIntroThe following flights h。












