问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java中有哪两种主要的XML解析技术,其区别是什么?

发布网友 发布时间:2022-04-07 16:46

我来回答

2个回答

懂视网 时间:2022-04-07 21:07

1. JDBC概述:JDBC(数据库连接)是Java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类库(位于java.sql和javax.sql包中)。用JDBC开发的数据库         应用既可以跨操作系统平台,又可以跨数据库系统平台。

         在JDBC的基本操作中,最常用的类和接口包括DriverManager,  Connection,  Statement,  PreparedStatement,  CallableStatement 和 ResultSet.

         (1) DriverManager类  用于管理JDBC驱动的服务类,程序中主要使用该类获得Connection对象。

           (2) Connection接口  代表数据库连接,每个Connection对象代表一个与数据库的物理连接会话。要想访问数据库,必须先获得数据库连接。

         (3) Statement接口  SQL语句,Statement对象用于执行SQL语句,它可以用于执行DML、DDL和DCL语句。当执行SQL查询时,返回查询到的结果集。

         (4) PreparedStatement接口  是Statement的子接口,代表预编译的SQL语句。使用PreparedStatement对象可以执行预编译的SQL语句,性能更好。

         (5) CallableStatement接口  也是Statement的子接口,代表数据库中的存储过程。使用CallableStatement对象可以执行数据库中的存储过程。

         (6) ResultSet接口  代表返回的结果集。ResultSet包含访问查询结果的方法,它可以通过列索引或列名获得列数据。使用ResultSet对象可以操作查询返回的结           果集。

2.JDBC编程六步骤:

        (1) 根据应用程序所用的数据库,选择JDBC驱动程序类型;

        (2) 连接到数据库,得到Connection对象;

          (3) 通过Connection创建Statement对象;

        (4) 使用Statement对象提交SQL语句;

        (5) 操作结果集;

        (6) 回收数据库资源。

3.连接到数据库:有两种方法可以设置一个到数据库的连接,分别是:

        (1) 使用java.sql.DriverManager类的静态方法getConnection(),该方法带一个URL代表数据源的名称。

        (2) 使用JNDI (Java Naming and Directory Interface, Java命名服务) 查找数据源的名称。JNDI返回一个javax.sql.DataSource类的getConnection()方            法。

4.通过Connection创建Statement对象:

     在JDBC中有三种类型的Statement对象:

        (1) java.sql.Statement:代表一个没有参数的简单的sql语句;

          (2) java.sql.PreparedStatement: PreparedStatement是Statement的子接口,代表预编译的SQL语句。该语句带有参数参数需要在SQL语句执行前进               行设置。

        (3) java.sql.CallableStatement:CallableStatement是Statement的子接口,CallableStatement对象用于调用数据库中的存储数据过程。

       Connection有三个方法分别用于创建这三类Statement:

        (1) Statement create Statement():创建基本的Statement对象。

          (2) PreparedStatement preparedStatement (String sql):根据传入的SQL语句创建PreparedStatement 对象。

        (3) CallableStatement prepareCall ( String sql ):根据传入的sql语句创建CallableStatement对象。

     Statement常用于执行一个肯定只发生一次,并且没有参数的SQL语句。

5.使用JDBC执行SQL语句:

     Ⅰ 使用Statement执行SQL语句:Statement代表任何SQL语句,同时Statement接口提供了定义和执行SQL语句的一些方法,包括:

        (1) ResultSet executeQuery (String sql):执行一个返回单个结果集的SQL语句。只能该方法执行SELECT语句。

        (2) int executeUpdate (String sql):使用该方法执行不返回结果集的DDL和DML ( Update, Insert, Delete )语句。如果执行的是DML,则返回值为执行SQL         语句影响的行数,如果执行的是DDL,则返回值为0。

        (3) boolean execute (String sql):该方法可以执行任何SQL语句。

      Ⅱ 使用PreparedStatement执行SQL语句:PreparedStatement接口用于代表一条预编译的语句。Connection接口中包含了如下六个方法用于创建              PreparedStatement对象:

       (1) preparedStatement ( String sql ):使用给定SQL语句,创建一个默认的PreparedStatement对象;

       (2) PreparedStatement ( String sql, int ResultSetType, int concurrency, int holdability ):使用给定SQL语句、结果集类型、并发类型和可保存性类型,创          建一个PreparedStatement对象。

       (3) PreparedStatement ( String sql, int ResultSetType, int concurrency ):使用给定SQL语句、结果集类型、并发类型,创建一个PreparedStatement对           象。

       (4) PreparedStatement ( String sql, int pk ):创建一个默认PreparedStatement对象,该对象能获取自动生成的键。参数pk指示是否应该返回自动生成的键的         标志,它是StatementRETURN_GENERATED_KEYS 或 StatementNO_GENERATED_KEYS之一。

         (5) PreparedStatement ( String sql, String[] keys ):创建一个默认PreparedStatement对象,该对象能获取自动生成的键。keys字符串数组代表组成主键的         列名。

       (6) PreparedStatement ( String sql, int[] keys ):余上一个方法类似,除了列数组使用列索引代替列名来描述。

       注:后三个方法只适用于Insert方法。

Java与XML解析技术:

1.XML概述:

    XML指可扩展标记语言(eXtensible Markup Language),它是一种很像HTML的标记语言。XML的设计宗旨是传输数据,焦点是数据的内容,而HTML被设计用来显示    数据,其焦点是数据的外观。XML是不会做任何事情的,它只是被设计用来结构化、存储以及传输信息。

1.XML语法规则:

    1. 它定义XML的版本(1.0)和所使用的编码(utf-8)字符集。

    2. 所有的XML元素都是成对出现的,有一个开始标签,就必须有一个关闭标签。

    3. XML标签对大小写敏感,标签<Letter>与标签<letter>是不同的。

    4. XML文档必须有根元素,标签如果需要嵌套,必须正确嵌套,在内层打开的标签就必须在内层关闭。

    5. XML标签如果需要添加属性,属性值必须加引号。

    6. 在XML中编写注释的语法与HTML的语法很相似,都是 <!– This is a comment –>。

    7. 在XML中,空格会被保留,不像HTML中,加再多的空格最终都只合并为一个。

XML命名规则

XML元素必须遵循以下命名规则:

  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格
  • 可使用任何名称,没有保留的字词。
  •     XML声明:1.XML文档声明由"<?xml"开始,由"?>"结束;

             2.XML声明有版本号 ( version )、独立文档声明 ( standalone ) 和编码声明 ( encoding )三个属性;    

             3.版本声明文档所采用的XML版本号,必须排在第一位;

     

    DTD:

        DTD的目的是定义XML文档的结构。它使用一系列合法的元素来定义文档结构:

    在DTD中,XML元素通过元素声明来进行声明。元素声明使用下面的语法:

         1 <!ELEMENT 元素名称 类别> 

          或  

         1 <!ELEMENT 元素名称 (元素内容)> 

    空元素:空元素通过类别关键词EMPTY进行声明:

         1 <!ELEMENT 元素名称 EMPTY> 

    声明只出现一次的元素:

         1 <!ELEMENT 元素名称 (子元素名称)> 

    声明最少出现一次的元素:

         1 <!ELEMENT 元素名称 (子元素名称+)>  

    声明出现零次或多次的元素:

         1 <!ELEMENT 元素名称 (子元素名称*)> 

    声明出现零次或一次的元素:

         1 <!ELEMENT 元素名称 (子元素名称?)> 

    声明属性:

         1 <!ATTLIST 元素名称 属性名称 属性类型 默认值> 

    xPath:

    XPath路径表达式

        XPath使用路径表达式来选取XML文档中的节点或者节点集,这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

    XPth节点:

        在XPath中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML文档是被作为节点树来对待的,树的根被称为文档节点或者根    节点。

    XPath通配符可用来选取未知的XML元素:

    通配符 描述
    * 匹配任何元素节点
    @* 匹配任何属性节点
    node() 匹配任何类型的节点

    SAX提供一种用于解析XML文档的事件驱动模型,在识别不同的XML语法结构时SAX解析器使用回调机制来通知客户端应用程序

    Java数据库编程、Java与XML解析技术

    标签:

    热心网友 时间:2022-04-07 18:15

    SAX 边读边解析,它只知道当前读到的元素,不知道其前后关系的元素,比较省内存
    DOM 把整个文档读入内存,可以知道所有元素之间的关系,比较耗内存。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    怎样让孩子主动找老师补课? 表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 鲜花淑怎样吃? 中国历史上有最多成语典故的人,谁比他多我吃翔 伴君如伴虎是什么意思。比喻什么 跪求许嵩的歌词 最后有备注的那种 关于礼貌待人的谚语50条 许嵩&lt;伴虎&gt;里面哪一句到highc? 求专业人士解决! 出自《论语》的成语有多少 许嵩新专辑《梦游记》的所有歌词谁知道啊 死者已矣下一句是什么 文过饰非这句歌词是许嵩哪首歌里的 古墓中的长明灯为何千年不灭呢? 《归去来兮辞》悟已往之不谏,知来者可追 与之相同意思的《论语》里的哪句 急 大腿骨折,髓内钉取出了,多久可以喝酒 最新互联网医院可行性报告名师制作精品资料 关于礼貌的俗语有哪些呢? 火把的制作 请问“往者不谏,来者可追”这句话是什么意思? 已经燃烧1584年的长明灯,究竟是什么原理? 可行性研究报告编制合同协议书范本 以往不谏 来者可追 迷途未远 今是昨非是什么意思? 鲜花椒怎样做花椒酱? 鲜花椒酸菜鱼怎么做 为什么我的OPPO Reno5 Pro+一到夏天就很容易发烫? OPPO Reno5在什么情况下会发热? OPPO Reno5 K为什么会发烫? OPPO Reno5 Pro+为什么会发烫? 爱普生L130墨水还有多少,电脑能查吗? 爱普生l130打印机提示墨水打到最低限度是什么意思? 爱普生l130打印热转印适应哪种热转印墨水 华为荣耀8x是不是荣耀畅玩8x是不是一个型号,钢化膜能不能通用? 跳高时小腿肌肉酸痛 煤矿溃水事故原因? 为何刷抖音五角星下面再也不显示好友头像了为什么 山西煤矿发生透水事故,是否造成人员伤亡? 请问人力资源管理师的资格证是去哪里考的? 孝义煤矿透水事故21人被困,6名涉案人员被控制,他们将会面临什么处罚? 八卦掌是怎么练的? 煤矿透水事故(死亡11人)责任人最重处罚是什么刑? 妈妈做梦梦到爸爸吃人,这是什么原因,预兆着什么呢 某地发生一起煤矿透水事件