A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2018-5-30 18:01  /  4872 人查看  /  76 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

杜石苇
BeanHandler<T>
      用于获取结果集中的第一行数据,并将其封装到JavaBean对象。
      整个转换过程最终会在 BeanProcessor 类中完成。比如我们创建的Account类   成员变量都和SQL表的字段一样;  
           需要注意的是,默认的情况下要保证表的字段和javabean的属性一致(字符一致即可,对大小写不敏感),
           比如字段是userName,那么javabean中属性必须是userName这几个字母
           (可以是username,UserName,userNAME,不过还是建议按照规范来定义)。
       
     BeanListHandler<T>    用于将结果集的每一行数据转换为Javabean,再将这个Javabean添加到ArrayList中。可以简单的看着是BeanHandler的高级版,只不过是多了一步,就是将生成的Javabean添加到ArrayList中,其他的处理都和BeanHandler一样。
         
         ScalarHandler 的参数为空或null时,返回第一行第一列的数据,一般用来返回单个数值  比如 select  count(*) from user;
XML就是种定义数据的标机语言,并没有定义如何传输,你可以把他放在http get的response里面,也可以直接拷贝一个xml文件到u盘里。其扩展xsd定义了xml的schema,而xslt又定义了xml的转换方式,这些使得xml更加强大。
现在用的比较多的是配置和数据结构定义;
XML的解析用Xpath 很方便
SAXReader 来读取XML文件   selectNodes   选择要读取的元素
回复 使用道具 举报
DBUtils:
通过DBUtils的学习 能够更便捷的读取MySQL中的数据
创建DBUtils中核心类对象 传入连接池对象参数  
QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource());
qr.query(sql, rsh, params);获取所需要获得的查询结果,其中rsh为传入一个ResultSetHandle的对象;
重要的是传入  
new Beanhandle<javaBeand的类>(javaBeand的类.class);把数据一条记录存入JavaBean的对象中返回一个javaBean

对象
new BeanListHandler<Account>(Account.class)
XML:
是一种可扩展标记语言;
常用作用是软件配置文件;
重要是xmlde 解析  两种解析
DOM;一次性将文档加载到内存  形成树形结构进行解析;
缺点  文档特别大容易导致内存溢出,优点; 对xml进行增删改操作   
SAX:事件驱动的方式,一行一行进行解析
缺点  不能对文档进行增删改   优点  不会导致内存溢出;

主要使用的是DoM4J的解析  
解析步骤
导入jar包.dom4j-1.6.1.jar----创建解析器  SAXReader sr=new SAXReader();---解析文档 获取文档Document对

象sr.read("传入要解析xml文件的路径");---获得根节点  document.getrootelement();----从根节点查其他的节

点,    getelement()获取单个节点  getelements()获取多个节点  传入需要获得节点的参数;
xpath:
解析步骤
导入jar包.dom4j-1.6.1.jar----创建解析器  SAXReader sr=new SAXReader();---解析文档 获取文档Document对

象sr.read("传入要解析xml文件的路径");---获取所需要的值  .selectNodes();传入要获取值的参数,
回复 使用道具 举报
侯玉林
今天先讲了dbutils的各种扩展方法,后面介绍了xml的基本写法,以及如何如何通过xml获取端口号,进行端口监听.
回复 使用道具 举报
陈强
XML的一天,
首先今天的第一部分内容还是DBUtils的内容---查询功能---BeanHandler
昨天是使用queryRunner.update,进行增删改的操作
今天进行查询使用的是queryRunner.query的方法去查询,根据查询的方法的不同,返回值也是不同,查询一个使用BeanHandler返回一个对象,查询多个内容使用BeanListHandler返回一个集合,在对集合去遍历获取结果.
整体流程还是先导入相应的JAR包,然后创建核心类,再执行查询,最后输出结果

第二部分是XML的解析---Xpath
首先要导入DOM4J的jar包和指定功能对应的jar包,然后创建解析器,获取reader的对象,然后根据对象去读取XML文件获取一个存在于内存中的对象document,最后根据需要查询的标签内容去查询指定的内容即可.
查询一个标签使用----selectSingleNode
查询多个内容使用selectNodes,返回一个集合
其中注意返回值的类型,Node相当于最根本的类型,包含了Document\Element\Attribute\Text,所有最后进行输出查询结果的时候,最好是向下转型,会有更多子类的方法可以使用.

回复 使用道具 举报
黄进安:
1.      使用dbutils工具类实现对数据库的查询操作,
l  创建一个类,通过这个类的对象来接收从数据库查询到的数据
l  类里的成员变量名必须与查询到的表名一致
学习了以下几种查询方法:
l  MapHandler和MapListHandler--->将结果集第一行封装到Map集合,多条查询再把Map集合存储到List集合
l  ArrayHandler和ArrayListHandler--->将结果集中的每一条记录都封装到一个Object[]数组中,多条查询将Object[]数组存储到List集合
l  ColumnListHandler:将结果集中指定的列的字段值,封装到一个List集合中
l  ScalarHandler:它是用于单数据
比较常用的两种查询方法:
l  BeanHandler和BeanListHandler--->将结果集中第一条记录封装到一个指定的javaBean中,多条结果集把这些javaBean存储到List集合
2.      学习了可以用来存储和传输数据的可扩展语言XML
两种XML的解析方式: DOM解析和SAX解析
主要使用DOM4J解析方法: 两种解析方式都包含了
n  List | document.selectNodes(String xPath);--->查找所有目标节点
n  Node | document.selectSingleNode(String xPath);--->查找第一个目标节点


回复 使用道具 举报
郑雪平

今天学习了两大类内容,一个是使用DBUtils完成CRUD的查询操作和使用XML作为配置文件的方式来完成模拟tomcat.在进行DBUtils操作前首先第一步要先引入JAR包,接着是创建一个实现类,在类里写上set,get以及tostring方法,然后才是写下测试类和创建test方法,接下来就是要开始写QueryRunner queryRunner = new QueryRunner(JDBCUtils2.getDataSource());
至于使用XML作为配置文件模拟tomcat,首先要知道xml是一个可扩展的标记语言,它的作用是传输数据和存取数据以及作为软件的配置文件使用,xml对语法有一定的要求,1.必须要有关闭标签;2.区分大小写;3.需要有引号;4.标签必须嵌套正确才行;最重要的一点是必须在第一行第一列写上文档声明,写在其它地方都是不行的,格式也是固定且一成不变的:<?xml version="1.0" encoding="UTF-8"?> ;对元素的命名也是有一定规则的,具体如下:1.不能以数字或标点符号开头;2.不能以字符"xml"作为开头;3.不能含有空格.xml的解析分为两种,分别是DOM和SAX.两者各有优缺点,所以是有区别的.由于有存在缺点,所以有个开源组织提供了一套解析方法叫DOM4J使xml能更好的解析文件.
回复 使用道具 举报
颜琳琳
  今日先学习了DBUtil的查询:(是用来封装查询到的数据)主要通过九个实现类来学习:
1.ArrayHandler: 将一条记录封装到有个Object数组中
2.ArrayListHandler: 将多条记录封装到一个装有Object数组的集合
3.BeanHandler: 将一条记录封装到一个javaBean中
4.BeanListHandler:将多条记录封装到一个装有javaBean的集合中
5.MapHandler:将一条记录封装到有个Map的集合中
6.MapListHandler:将多条记录封装到一个装有Map的集合List集合中
7.ColumnListHandler:将单列值封装到哟个集合中
8.ScanlerHandler:单值封装
9.keyedHanlder:将多个数据封装到一个装有Map集合的Map集合中
(注: 以上几种实现类只需要掌握BeanHandler和BeanListHandler即可,其他作为了解即可)

   接着学习了Xml,Xml是可扩展标记语言,作用是用来1.存储数据和传输数据 2.软件的配置文件(其中作为软件的配置文件是主要的作用)
Xml的语法:1:用<!-- -->来注释 2.区分都大小写 3.属性需要加引号 4.标签必须要嵌套 5.xml必须有关闭标签 5.特殊符号不能直接写 如:< >要写成 &lt 和 &gt  5.命名规范不能以xml,数字,标点符号等开头,不能有空格;
Xml的解析:DOM 和 SAX解析:
这两者的区别在于:1.DOM是一次性将文档加载到内存中,以树状的形式解析,而SAX是一行一行的解析.  2. 优点:  Dom可以对XML进行增删改查的操作,而SAX的优点是如果文档太大不会造成内存溢出  3.缺点: Dom的缺点是如果文档太大会造成内存溢出,而Sax的缺点是不能对Xml进行增删改查.(对于这两种解析的解析方式有以下几种,由不同的公司提供的API进行解析:1.pull(主要用于解析Android手机端解析) 2.Dom4J 3.DomJ 4.JAXP)
主要掌握Dom4J解析:有两种方式:一种是传统的,另一种是XPATH解析,其中XPATH(只需需要掌握其中SelectNodes()获取多个标签的属性和SelectSingleNode()获取一个标签属性,以及attributeValue获取属性值  要获取某个标签的属性的写法需注意: 如获取person中所有id属性的要写成:  //person[@id]  不能写成 //person[‘@id’])
最后还学了XML的约束:xml的约束是让xml文档的标签可以在哪个位置,不能再哪个位置,出现的次数以及在标签中的顺序,主要的作用是让xml写的更规范,不会被使用者随意更改.  xml的约束的种类有DTD和Schema两种,主要区别如下: 1.DTD的语法是自成一体的,而Schema的语法就是XML语法,  2.Schema的语法是xml的语法解析起来更方便  3.Schema有比DTD更强大的语法和约束.
回复 使用道具 举报
赖镇东
今天早上一开始讲的DButils根本听不懂在讲的是啥!我整个人听得犯困,也跟我请假多天,mysql和JDBC没学的原因有关。听下来差点睡着,最重要的Bean什么的方法也不懂。之后的XML学到了XML是一门可扩展标记语言,虽然标签可以自定义,但是还是有一些规范。Xml的功能有传输和存储文件,但是现在已经基本没人用了,最主要的功能是配值文件,学会了利用导入jar包利用dom4j解析XML,还学到了限制规范xml,但是只要能懂就可以。
回复 使用道具 举报
陈叶隆
1.DBUtils 查询:
1.1        i)ArrayHandler:将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
ii) ArrayListHandler:将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
1.2        i) BeanHandler:将结果集中第一条记录封装到一个指定的javaBean中。
ii) BeanListHandler:将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource());
List<Exam> list = qr.query("select * from exam where id in(?,?,?)",new BeanListHandler<Exam>(Exam.class) ,2,3,4);
                for (Exam exam : list) {
                        System.out.println(exam);
                }
<![CDATA[   ]]>
2.XML解析:
DOM4J解析:
【步骤一】导入jar包.
【步骤二】创建解析器.
SAXReader sr = new SAXReader();
【步骤三】解析文档获得代表文档的Document对象.
Document doc= sr.read("src/demo1.xml");
【步骤四】获得节点.
List<Node> list = doc.selectNodes("//person[@id]");
【步骤五】获得属性值.
for (Node node : list) {
                        Element element = (Element) node;
                        System.out.println(element.attributeValue("id"));
                }
回复 使用道具 举报
游荣辉
总结
        今天学习了JDBC的查询,前面第一行跟增删改一样,然后调用BeanHandler(查询一个封装成一个对象)或者BeanListHandler(查询多个封装成一个List集合对象)
        还学习了mxl
                什么是mxl呢?(就是可扩展标记语言)
                可以用来存储数据也可以用来传输数据,但是一般都用来作为配置文件
        想要在Java中使用mxl就必须解析它:
                解析的方式有两种,dom(一次性把文件加载到内存)   sax(一行一行的解析)
        还学了dom4j:
                用dom4j解析
                【步骤一】导入jar包.dom4j-1.6.1.jar
                【步骤二】创建解析器
                【步骤三】解析文档获得代表文档的Document对象.
                【步骤四】获得跟节点.
                【步骤五】从跟节点下查找其他的节点.
                用dom4j下面的Xpath解析
                【步骤一】导入jar包.dom4j-1.6.1.jar和jaxen-1.1-bata-.jra
                【步骤二】创建解析器
                【步骤三】使用read方法解析,放回一个Document对象
                【步骤四】使用支持xpath的jar包里的方法 selesNodes()返回一个集合(selesNode是返回一个node对象)
                【步骤五】遍历集合
                【步骤六】强转成子类对象
                【步骤七】调用子类方法得到想要的值
回复 使用道具 举报
江某人:

        //创建解析器
        SAXReader reader=new SAXReader();
        //解析sql到Document对象
        Document read = reader.read("xml文件);
        //获得节点
        List<Node> list = read.selectNodes("节点");new Beanhandle<javaBeand的类>(javaBeand的类.class);把数据一条记录存入JavaBean的对象中返回一个javaBean 对象
new BeanListHandler<Account>(Account.class)
XML的作用:
             是一种可扩展标记语言;
常用作用是软件配置文件;
重要是xmlde 解析  两种解析
DOM;一次性将文档加载到内存  形成树形结构进行解析;
缺点  文档特别大容易导致内存溢出,优点; 对xml进行增删改操作   
SAX:事件驱动的方式,一行一行进行解析
缺点  不能对文档进行增删改   优点  不会导致内存溢出;
dom4j结合Xpath对xml进行解析:
                       解析步骤
导入jar包.dom4j-1.6.1.jar----创建解析器  SAXReader sr=new SAXReader();---解析文档
获取文档Document对 象sr.read("传入要解析xml文件的路径");---获得根节点  document.getrootelement();----从根节点查其他的节
点,    getelement()获取单个节点  getelements()获取多个节点  传入需要获得节点的参数;
xpath:
解析步骤
导入jar包.dom4j-1.6.1.jar----创建解析器  SAXReader sr=new SAXReader();---解析文档
获取文档Document对 象sr.read("传入要解析xml文件的路径");---获取所需要的值  .selectNodes();传入要获取值的参数,


回复 使用道具 举报
苏海斌
XML是一种可扩展的标记语言,跟HTML类似,可自定义标签,用于传输和存取数据.亦可作为配置文件.
XML必须有文档声明(声明中必须有version),并且在XML文件的第一行第一列;另外,XML区分大小写,属性要有引号,必须有关闭标签,而且标签必须正确嵌套.
在XML中有个CDATA区,在区中的文本会被解析器忽略,也就是被当做字符串;<![CDATA[内容]]>

XML的解析方式分为DOM和SAX,
DOM可以一次性将文档加载到内存中,从而形成树形结构进行解析,并且可以对XML文档进行增删改操作;不过缺点就是如果文档特别大容易导致内存溢出;
而SAX是以事件驱动的方式逐行进行解析的,不会导致内存的溢出,不过也有缺点,就是不能对文档进行增删改;
针对这两种解析方式有不同的API的实现
主要的DOM4J和pull;
重点掌握DOM4J;

XPath是一种路径语言,即用来确定XML文档中某部分位置的语言,将DOM4J解析的方式进行了增强,能采用document来调用

DOM4J解析步骤:
导入jar包
创建解析器
解析文档获得代表文档的Document对象
获得根节点
从根节点下查找其他节点
XPath

Document:
Element  |  getRootElement() :获取根元素对象(根标签)

Element:
List elements() :获取所有的子元素
List elements(String name):根据指定的元素名称来获取相应的所有的子元素
Element element(String name):根据指定的元素名称来获取子元素对象,如果元素名称重复,则获取第一个元素
String        elementText(String name) :根据指定的子元素名称,来获取子元素中的文本
String        getText() :获取当前元素对象的文本
void setText(String text):设置当前元素对象的文本
String        attributeValue(String name):根据指定的属性名称获取其对应的值
public Element addAttribute(String name,String value):根据指定的属性名称和值进行添加或者修改

SAXReader:
回复 使用道具 举报
张述明
今天主要学习了DButils的高级和XML

DButils部分:
BeanlistHandler(重点)
将多条记录封装到javabean的List集合中;
Javabean用来描述实体

实体类中属性的名字要和表中的列名一致

类名可以不一样
ColumnListHandler
将某列的值封装到List集合中;

ScalarHandler
单值封装

Xml是扩展性标记语言
是一种标记语言;
宗旨是传输数据
自定义标签

和超文本标记语言的区别
Html每个标签都有自己特有的功能
Xml标签自定义

必须要有根标签


作用1:传输数据(过去式);
2:存储数据(现在使用数据库)
3:配置文件



Xml 注释   <!--注释-->.

XML的文档声明
出现在第一行第一列
Version 属性必须有
不能数字和标点符号开始
元素(标签)  名称中不能有逗号
Cdata区: 里面的特殊字符变成字符串
< ![CDATA [ 内容  ] ] >


Xml 解析
方式1 Dom解析
一次性将文档加载到内存,形成树形结构进行解析
缺点:如果文档太大,容易导致内存溢出
优点:对XML进行增删改

方式2 SAX解析
事件驱动的方式,一行 一行进行解析的
缺点:不能进行增删改
优点:文档特别大,也不会导致内存溢出.

Jaxp  Sun公司
Jdom
DOM4J
PULL


DOM4J

1.        导包
2.        创建解析器
3.        解析文档获得代表文档的document对象
4.        获得根节点
5.        从根节点下查找元素
Element 得到第一个元素
Elements 查找所有元素

DOM4J
List   document.selectNodes(String xpath);
Node document.selectSingleNode(String xpath)
;


Xml的约束的种类和区别
DTD
语法自成一体,schema语法就是xml的语法

Schema
支持名称空间
比dtd更加强大的语义和语法的约束





回复 使用道具 举报
DBUtils::主要用的是ArrayHandler ArrayListHandler BeanHandler BeanLIstHandler 四种
BeanHandler 将一条记录封装到JAVABean中
BeanListHandler 将多条记录封装到JAVABean数组中
ArrayHandler:将结果集中的第一条记录封装到一个Object[]数组中
ArrayListHandler:将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。


*XML的作用:
1.传输 和 存储数据  配置文件

[XML的语法]:文档声明,注释,元素,属性,特殊字符和CDATA区

DOM4J的使用
        1 创建解析器 new SAXReader();
        2 解析文档获得Document对象
        3 获得根节点
        4 查找根节点下的子节点
       
XPath:
        dom4j支持XPath的jar包
        dom4j的XPath支持的API
                List document.selectNodes(String xPath);获取元素(标签)集合
                Node document.selectSingleNode(String xPath);获取单个元素(标签)对象
                元素(标签)对象.attributeValue(String)获取value值
回复 使用道具 举报
吴利君
今天学习了DButils的查询方法的使用主要注意的是BeanHander的使用,这个可以和java对象结合起来对数据库的表进行查询,获取列表或的单个的很方便,然后是XML,它是可扩展标记语言,可以用于数据的传输和存储,或者一些框架啊软件的配置文件,比如后面的要学习的SSH,SSM里面就有大量用到配置文件的地方。
XML是一种很严谨的语言,它对大小写敏感,必须标签真确嵌套等等,不过建议统一使用小写,然后他的名称命名规则也有要求,所有要注意!
然后是XML的解析,有两种,一种是DOM解析,这种解析一次性可以吧所有的内容加载到内存,然后形成一个树形结构,这种解析的好处就是可以对数据进行增删改,但是当内容过多就会导致内存溢出,可以结合实际情况进行选择,然后是SAX解析,这种解析是逐行解析,对于内存不会溢出,但是却不能进行增删改,优点很好,缺点也很明显。
DOM4J这个有开源组织提供的一个解析的API他结合了DOM解析和SAX解析,大大提高了解析效率,而且使用XPATH进行解析效率更快,它的List document.selectNodes(String xPath)和 * Node document.selectSingleNode(String xPath),两个方法能改快速查找你要查找的内容。
然后是XML的约束,它有两种, DTD 和 Schema他们的区别有四点,其一是DTD语法是自成一体的而Schema语法就是XML的语法,其二是Schema的语法就是XML的语法所以更容易被解析器所解析,其三Schema支持名称空间,其四Schema有比DTD更加强大的语义和语法的约束。这些据说以后面试会被问到,要记。
最后是tomcat大致说了一下,tomcat是一个小型服务器,兼容很多java的web项目,很多都是使用它开发的,很好用,有的大型网站甚至使用多个tomcat搭建分布式服务器集群,总之是个很厉害的东西。
回复 使用道具 举报
陈世彪:
今天学习了DBUtils和xml配置文件
使用DBUtils查找文件的方法有很多
ArrayHandler查找数据返回集合形式
ArrayListHandler可以查找多个数据返回集合,遍历集合获得里面的数
BeanHandler查找数据,返回bean类型,new BeanHandler()<对象.class>
BeanListHandler实现类对结果集进行处理,返回一个Bean类对象的集合
单条的查询可以使用ScalarHandler,返回一个Object类型对象
xml是可扩展标记语言,用来配置文件
也可以用来传输和储存数据,但是不常用
使用dom4j时,里面有两种解析方法
dom,一次性将文档加载到内存,如果文档特别大容易内存溢出,可以进行增删改操作
sax,一行一行进行解析,如果文档特别大不会导致内存溢出,不能进行增删改操作
对xml进行解析时,要先导入包
再创建解析器
SEXReader reader=new SEXReader();
解析文档获得Document对象
Document document = reader.read("xml/demo1.xml");
获得根节点
第一种
Element root = document.getRootElement();
第二种
Element root = document.selectNodes();
使用selectNodes时
如果要找一个元素的属性,要加上[@属性]
再使用attributeValue获得属性的值
回复 使用道具 举报
詹源
什么是XML:
一款可扩展的标记语言,可作为配置文件,传输和存取数据.

XML特点:
标签可以由开发者自行定义,具有自我描述性

基本语法:
1.必须有关闭标签
2.区分大小写
3.属性需要有引号
4.标签必须正确嵌套

文档声明:
在XML第一行第一列位置
写法:<?xml 属性名="属性值" 属性名="属性值"...?>
        *version:必须的,使用"1.0"
        *encoding:字符集.是使用浏览器打开的时候采用的默认的字符集的编码
        *standalone:描述XML文档是否需要依赖其他文件.
注释:<!-- XML的注释 -->
XML的元素:元素(标签)的命名规范,需要遵循以下规则
        名称可以含字母,数字,其他字符
        名称不能数字或者标点以及字符"xml"(或者XML,Xml)开头.
        名称不能包含空格和冒号:
属性:属性的名称规范与元素一样.属性需要引号

CDATA区:(CDATA:Character Data)

<![CDATA[ 内容 ]]>.内容的特殊符号不会被转译.

(重点)
XML解析方式:
DOM解析:  DOM:Document Object Model.
SAX解析:  Simple Api for XML.

区别:DOM一次加载到位,形成树形结构解析,可以对XML进行增删改,
     但是如果文档过大,易导致内存溢出


     SAX一行一行进行解析.不能进行增删改操作.
     相反,即使文档过大,也不会造成内存溢出.

回复 使用道具 举报
万冕

今天的知识主要掌握DBUtils的查询,每次都是查询相对的复杂,这次的查询有很多的实现类,主要掌握的是BeanHandler和
BeanListHandler,   BeanHandler是将记录包装进javaBean中的方式,BeanlistHandler 是将多条数据包装进list集合中,

XML是可扩展标记语言,可扩展主要表现在用户可以自定义标签,但是自定义也是有规范的,主要是用来当做配置文件,传输
存取数据,XML的语法比HTML的严谨,规范, CDATA区可以将特殊的符号都转成字符串形式.

XML的解析方式,有两种,DOM,SAX,DOM:优点能增删改,但是文件太大会内存溢出,SAX不能增删改,但是文件太大不会导致内存
溢出,

主要的解析方法时DOM4J   XPath,里面包含了DOM和SAX,首先是先创建解析器,然后获取document对象,然后在输入要获得的根节点,
在根节点的基础上去获得其子节点,

List<Node> list = doc.selectNodes("//name[@id]");
               
                for (Node node : list) {
                        Element e = (Element) node;
                        System.out.println(e.getText());
                }
回复 使用道具 举报
康元中 (5.30)
XML和Tomcat
1 XML:可扩展标记语言(允许用户自定义标签)
      XML作用:传输和存储数据
              主要用用于软件的配置文件
      XML的解析:从xml的文档中获取数据
      xml语法注意:声明必须写在文件左上角,必须要有跟标签,必须<?xml 属性名=”属性值” 属性名=”属性值” ...?>       

      分为两种解析方式:DOM解析 和SAX解析
              区别:DOM一次性将文档加载到内存,形成树状结构进行解析
                        缺点: 文档如果较大会出现内存溢出
                        优点:对XML进行增删该的操作
                   SAX: 事件驱动的方式,一行一行进行解析
                        缺点:不能对文档进行增删该操作;
                        优点:文档较大不会出现内存溢出;
        针对这两种解析,不同公司提供不同api实现: JAXP  /  JDOM  /DOM4J /PULL
重点:  使用DOM4j的Xpath 完成解析
        步骤
        导包 dom4j jar包;和xpath的包
        串键解析器 SaxReader reader =new SAXReader()
        解析xml文档获得Doucument对象Document document reader.read("xml文本路径")
                    selectNode 和selectSingleNode();
        学习xml 约束(了解)
        分成 DTD和Schema
        两者区别分别是
             1.DTD语法是自成一体的.Schema语法就是XML的语法.
             2.Schema的语法就是XML的语法所以更容易被解析器所解析.
             3.Schema支持名称空间.
             4.Schema有比DTD更加强大的语义和语法的约束.
       
2   使用DBUtils进行查询
    步骤: 导包DBUTils 的jar包/ CP30 的jar包 /mysql jar包
          xml配置文件准备jdvcutils的工具类( 创建连接的方法/创建连接池的方法/释放资源的方法)
          (1)ArrayHandler将一条记录封装到一个数组
             ArrayListHandler将多条记录封装到一个数组
          (2)BeanHandler 一条记录封装到javaBean
             BeanListHandler 多条记录封装到装有javaBean的List集合
             javaBean中的成员变量必须要和数据库中列名相同数据类型相同,且有无参构造!
回复 使用道具 举报
许煜
JDBC查询及xml总结
Queryrunner.query(“sql语句”,”接受查询结果的抽象类实例”,args);
重点 beanhandler<>(class) beanlisthandler<>()
通过传入的class文件 通过反射直接对查询结果的数据进行处理 需要javabean提供无参构造方法 get/set方法
Xml重点 现在基本作为配置文件使用
Java代码获取xml文件的属性值步骤如下
创建解析器 SAXReader sr=new SAXReader()
解析文档获得document对象 docuement  sr.read(文档路径)
传统方法 1 获得根元素 element getrootelement()
         2查找根元素下面的子节点 element()一个 elements()多个
         3 elememnt.gettext()
快速的方法 document.selectsinglenode(String xpatn)
           Document.selectnodes(String xpath)
Tomcat 用来发布网站的服务器
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马