Dom4j介绍:
 
        dom4j是一个简单的开源库,用于处理XML、 XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集
成了DOM,SAX和JAXP。在国内比较流行的是使用JDOM作为解析器,但DOM4J最大的特色是使用大量的接口,面向接口编程这也是它被认为比JDOM灵活的主要原因。
        我们可以从官网上下载的压缩包里查看这些接口:
        Dom4j最新版下载地址:http://sourceforge.net/projects/dom4j/files/
用到的jar包:

        将下载下来的压缩包解压我们可以查看源代码,如上第二幅图。但我们只需要以下两个jar包:dom4j-1.6.1.jar
和lib目录下的jaxen-1.1-beta-6.jar(用到xpath的时候用,负责会报错。xpath是获取节点和内容的,可以看源码)
实战:

1.将dom4j、jaxen以及orecal数据库驱动的jar包拷到项目中目录如下:

2.建立3个类和连接数据库的xml文件,目录如下图:

3.代码分析:

(1)连接数据库的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<config><db-info><driver-name>oracle.jdbc.driver.OracleDriver</driver-name><url>jdbc:oracle:thin:@localhost:1521:orcl</url><user-name>drp1</user-name><password>drp1</password></db-info>
</config>

(2)读取xml文件的类:XmlConfigReader.java

public class XmlConfigReader {//懒汉式private static XmlConfigReader instance = null;//保存jdbc相关的配置信息private JdbcConfig jdbcConfig = new JdbcConfig();private XmlConfigReader(){SAXReader reader = new SAXReader();InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");try {Document doc = reader.read(in);//取驱动的名字Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");//取得jdbc相关的配置jdbcConfig.setDriverName(driverNameElt.getStringValue());//取urlElement urlElt = (Element)doc.selectObject("/config/db-info/url");//String url = urlElt.getStringValue();//取得jdbc相关的配置jdbcConfig.setUrl(urlElt.getStringValue());//用户名称Element userNameElt = (Element)doc.selectObject("/config/db-info/user-name");//String userName = userNameElt.getStringValue();//取得jdbc相关的配置jdbcConfig.setUserName(userNameElt.getStringValue());//密码Element passwordElt = (Element)doc.selectObject("/config/db-info/password");//取得jdbc相关的配置jdbcConfig.setPassword(passwordElt.getStringValue());} catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//保证线程为一public static synchronized XmlConfigReader getInstance(){if(instance == null){instance = new XmlConfigReader();}return instance;}/*** 返回jdbc相关配置* @return*/public JdbcConfig getJdbcConfig(){return jdbcConfig;       }public static void main(String[] args){JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();System.out.println(jdbcConfig);}
}
代码解析:
         1)SAXReader来读取xml文件,通过reader.read方法来来读取InputStream, File, Url等。
         2)将读取到的文件转换为document
         3)利用elementIterator读取document容器的xml文件
(3)JdbcConfig实体类:
package com.zzj.drp.util;/*** jdbc配置* @author zzj**/
public class JdbcConfig {private String driverName;private String url;private String userName;private String password;public String getDriverName() {return driverName;}public void setDriverName(String driverName) {this.driverName = driverName;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return this.getClass().getName()+ "{driverName:"+ driverName + ", url:" + url + ", uerName:" + userName + "}";}}

(4)DbUtil(JDBC)类

public class DbUtil {/*** 取得Connection* @return*/public static Connection getConnection(){Connection conn = null;try {JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();Class.forName(jdbcConfig.getDriverName());conn=DriverManager.getConnection(jdbcConfig.getUrl(), jdbcConfig.getUserName(), jdbcConfig.getPassword());} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}
}

 

通过将数据库的连接字符串放到xml中,这样可以灵活配置,xml文件就像一个接口,很好的体现了“面向接口”的思想。

java项目——Dom4j读取XML文件连接orecal数据库相关推荐

  1. java项目——Dom4j读取XML文件保存orecal数据库

    上一篇介绍了如何利用dom4j读取xml文件,连接数据库,换数据库的话直接修改XML文件,使配置更加灵 活,本篇博客主要介绍一下如何将XML文件导入到orecal数据库中. XML在现在的项目中的应用 ...

  2. DOM4j读取XML文件(SAXReader)

    为什么80%的码农都做不了架构师?>>>    DOM4j读取XML文件(SAXReader) 一.一个很好的SAXReader读写xml文件的例题: 总结: Document do ...

  3. dom4j读取XML文件内容

    转载自  dom4j读取XML文件内容 <?xml version="1.0" encoding="UTF-8"?> <RESULT> ...

  4. Java实现——Dom4j读写XML文件

    1. dom4j概述 解析DOM4J是一个开源XML解析包,采用了Java集合框架并完全支持DOM,SAX和JAXP.最大的特色是使用了大量的接口,主要接口都在org.dom4j里定义. 2. dom ...

  5. 使用DOM4J读取XML文件

    xml 文件: <?xml version="1.0" encoding="utf-8" ?> <Response><e>& ...

  6. Java中DOM4J解析xml文件浅析

      DOM4J解析它是JDOM的一种智能分支.它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持.XML Schema支持以及用于大文档或流化文档的基于事件的处理.它还提供了构建文档表 ...

  7. Java项目中读取properties文件,以及六种获取路径的方法

    下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...

  8. Java项目中读取properties文件

    下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...

  9. java使用DOM4j解析XML文件

    1.简介 dom4j是java中的XML API,性能优异.功能强大.开放源代码. 也是所有解析XML文件方法中最常用的! 2.代码实操 准备需要j的ar包添加到lib目录下,dom4j-2.1.1. ...

最新文章

  1. Java位运算在程序设计中的使用:位掩码(BitMask)
  2. Spring mvc3的ajax
  3. [笔记]C#基础入门(五)——算法:交换
  4. 这个程序,有点意思!
  5. 【DKN】(六)KCNN.py
  6. 反编译androd的apk文件
  7. Python 最好用的8个VS Code扩展
  8. 苹果App Store商店中国区如何改为美国区
  9. 国家计算机二级在线报名,23 日起,全国计算机等级考试开始网上报名
  10. NCEPU-EDM使用说明
  11. Linux的常见问题解答和管理技巧
  12. EasyExcel 读.CSV 文件数据为null或乱码问题
  13. 基于matlab的mimo仿真,基于MATLAB的MIMO通信系统仿真报告.doc
  14. 【日记本砸】21.04.16-31 他们身旁也有窗,却没有人向外眺望。
  15. 类加载器以及双亲委派模式
  16. Babel 是干什么的
  17. linux无法保存文件,Linux系统创建文件后无法保存
  18. 虾皮电商好做吗?虾皮电商运营难吗?
  19. ProM开发指北3——ProM插件开发入门
  20. 闲鱼自动刷新最新发布页面源码

热门文章

  1. Jenkins添加DingTalk
  2. Windows10任务计划怎么用
  3. 了解Fidder工具及使用方法
  4. 用while语句求100以内所有奇数的和
  5. JSD-2204-Java语言基础-数组-方法-Day06
  6. HTML复选框里添加下拉框,Html:实现带复选框的下拉框(一)
  7. C++编程练习-员工上下班
  8. Scratch2舞台各个部分及积木的介绍
  9. 传递矩阵法求声波透射系数绘图求解决
  10. Nvidia Jetson TK1 无线网卡(Intel 7260)驱动及配置