使用XML配置JDBC驱动

XML文件作用

http://www.cnblogs.com/hellojava/archive/2012/12/28/2835730.html‘

xml这种文件格式由于属于树形结构,方便不同文件读取,解析XML文件过程有4中,常用的是DOM4J
http://blog.csdn.net/jzhf2012/article/details/8532873

建立并且配置xml文件

1.可以在根目录下建立xml文件

使用XML配置JDBC驱动_第1张图片

2.xml文件中的下层目录可以随便写,使用对应参数读取即可
使用XML配置JDBC驱动_第2张图片

3.导入对应JAR包,根据图1,dom4j与jaxen这两个包是必须的

4.建立两个类
其中XmlConfigReader用于读取xml文件的配置信息;
这里可以使用 单例线程安全的 模式创建读取类;
返回对象 JdbcConfig
代码如下

package com.houlu.drp.util;

import java.io.InputStream;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 单例模式,解析XML文件
 * @author Administrator
 *
 */

public class XmlConfigReader {

    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);

            //取得JDBC相关配置信息
            Element driverNameElt =  (Element)doc.selectObject("/config/db-info/driver-name");
            Element urlElt =  (Element)doc.selectObject("/config/db-info/url");
            Element usernameElt =  (Element)doc.selectObject("/config/db-info/username");
            Element passwordElt =  (Element)doc.selectObject("/config/db-info/password");

            //设置JDBC相关配置
            jdbcConfig.setDriverName(driverNameElt.getStringValue());
            jdbcConfig.setUrl(urlElt.getStringValue());
            jdbcConfig.setUsername(usernameElt.getStringValue());
            jdbcConfig.setPassword(passwordElt.getStringValue());


        } catch (DocumentException e) {
            e.printStackTrace();
        } 
    };

    /**
     * 创建单例
     */
    private static XmlConfigReader instance = new XmlConfigReader();
    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) {
        System.out.println(XmlConfigReader.getInstance().getJdbcConfig());
    }

}
package com.houlu.drp.util;

/**
 * Jdbc配置信息
 * @author Administrator
 *
 */
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;
    }

    @Override
    public String toString() {
        return this.getClass().getName() + "{driverName:" + driverName + ", url:" + url +",username:" + username + ",password:" + password;
    }


}

你可能感兴趣的:(项目经验)