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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Java-Web-Day12-DBUtils&xmlDBUtils的使用之ResultSetHandler的实现类一ArrayHandler和ArrayListHandlerArrayHandler
ArrayHandler:将一条记录封装到一个数组当中。这个数组应该是Object[]。
DBUtils的使用之ResultSetHandler的实现类二BeanHandler和BeanListHandler/*         * 使用BeanHandler查询         */        @Test        public void demo1() throws SQLException{                QueryRunner queryRunner = new QueryRunner(JDBCUtilsNew.getDataSource());                                Account account = queryRunner.query("select * from account where id=?",                                 new BeanHandler<Account>(Account.class), 2);                System.out.println(account);        }BeanListHandler/*         * 使用BeanListHandler查询         */                @Test        public void demo2() throws SQLException{                //获取连接对象                QueryRunner queryRunner = new QueryRunner(JDBCUtilsNew.getDataSource());                //使用query方法,第二个参数创建BeanListHandler                List<Account> list = queryRunner.query("select * from account",                                 new BeanListHandler<Account>(Account.class));                for (Account account : list) {                        System.out.println(account);                }        }DBUtils的使用之ResultSetHandler的实现类三MapHandlern和MapListHandler/*         * 使用MapHandler查询         */        @Test        public void demo3() throws SQLException{                QueryRunner queryRunner = new QueryRunner(JDBCUtilsNew.getDataSource());                Map<String, Object> map = queryRunner.query("select * from account where id=?", new MapHandler(), 3);                System.out.println(map);        }MapListHandler/*         * 使用MapListHandler查询         */        @Test        public void demo4() throws SQLException{                QueryRunner queryRunner = new QueryRunner(JDBCUtilsNew.getDataSource());                List<Map<String, Object>> map = queryRunner.query("select * from account", new MapListHandler());                for (Map<String, Object> map2 : map) {                        System.out.println(map2);                }        }DBUtils的使用之ResultSetHandler的实现类四ScalarHandler@Test        public void demo5() throws SQLException{                QueryRunner queryRunner = new QueryRunner(JDBCUtilsNew.getDataSource());                Object query = queryRunner.query("select count(*) from account", new ScalarHandler() );                System.out.println(query);        }XML&Tomcat篇XML的概述XML的作用:
  • 传输 和 存取数据.
  • 软件的配置文件.
XML的使用XML的语法.
  • XML的基本语法:
    • XML必须有关闭标签
    • 区分大小写
    • 属性需要有引号
    • 标签必须正确嵌套.

XML的文档声明
  • 文档声明:通常出现在XML的第一行第一列的位置!!!
  • 写法:
    • <?xml 属性名=”属性值” 属性名=”属性值” ...?>
      • version        :必须的. 使用”1.0”
      • encoding        :字符集. 是使用浏览器打开的时候采用的默认的字符集的编码.
      • standalone        :描述XML文档是否需要依赖其他的文件.


XML的注释
  • XML的元素
  • 元素(标签)的命名规范:
    • 名称中不能包含冒号(:)

XML的属性
  • 属性的名称规范与元素一致. ***** 属性需要使用引号!
XML的特殊字符和CDATA区
  • XML的特殊字符:
  • XML的CDATA区:(CDATA:Character Data)
  • <![CDATA[ 内容 ]]>
XML的解析(*****)
  • XML的解析:从XML文档中获得想要的数据(通过代码完成的.)
XML的解析的方式(*****):
  • DOM解析:DOM:Document Object Model.
  • SAX解析:Simple Api for XML. DOM和SAX的区别:
  • DOM:一次性将文档加载到内存中,形成树形结构进行解析。
    • 缺点:如果文档特别大,容易导致内存的溢出。
    • 优点:对XML进行增删改的操作。
  • SAX:事件驱动的方式,逐行进行解析。
    • 缺点:不能对文档进行增删改的操作。
    • 优点:如果文档特别大,不会导致内存的溢出。

针对这两种解析的方式,不同的公司提供了不同的API的实现.
  • JAXP        :SUN公司提供的一套XML的解析的API.
  • JDOM        :开源组织提供了一套XML的解析的API-jdom.
  • DOM4J        :开源组织提供了一套XML的解析的API-dom4j.
  • pull        :主要应用在Android手机端解析XML.

DOM4J的入门案例步骤:
  • 【步骤一】导入jar包.dom4j-1.6.1.jar
  • 【步骤二】创建解析器
  • 【步骤三】解析文档获得代表文档的Document对象.
  • 【步骤四】获得跟节点.
  • 【步骤五】从跟节点下查找其他的节点.
XPath:
  • dom4j支持XPath的jar包.
    • jaxen-1.1-beta-6.jar
  • dom4j的XPath支持的API:
    • List document.selectNodes(String xPath);
    • Node document.selectSingleNode(String xPath);
  • 代码:
@Test        /**         * DOM4JXPath的写法:         */        public void demo2() throws Exception{                // 创建解析器:                SAXReader reader = new SAXReader();                // 解析XML返回Document对象.                Document document = reader.read("xml/demo1.xml");                /*List<Node> list = document.selectNodes("//name");                for (Node node : list) {                        Element element = (Element) node;                        System.out.println(element.getText());                }*/                                List<Node> list = document.selectNodes("//person['@id']");                for (Node node : list) {                        Element element = (Element) node;                        System.out.println(element.attributeValue("id"));                }        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马