dom4j如何读取xml

dom4j如何读取xml


    drp项目中用MyEclipse编码来连接Oracle,首先将ojdbc14.jar拷到对应的目录中,

DbUtil:与数据库建立相关连接

/*
 * 封装数据常用操作
 * */
public class DbUtil {
	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){
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		return conn;
	}
	
	public static void main(String[] args){
		System.out.println(DbUtil.getConnection());
	}
}

sys.config.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>

XmlConfigReader:读取xml文件中的字符串

添加对应的jar包 dom4j-1.6.1.jar  和 jaxen-1.1-beta-6.jar

/*
 * 采用单例模式解析sys.config.xml文件
 * */
public class XmlConfigReader {
	/*
	 * 饿汉式(预先加载)
	private static XmlConfigReader instance = new XmlConfigReader();
	private XmlConfigReader(){
		
	}
	public static XmlConfigReader getInstance(){
		if(instance == null){
			instance = new XmlConfigReader();
		}
		return instance;
	}
	*/
	
	//懒汉式(延迟加载lazy)
	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);
			
			//取得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/user-name");
			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();
		}
	}
        //单例模式对外提供的访问入口,synchronized保证线程安全 
       public static synchronized XmlConfigReader getInstance(){
		if(instance == null){
			instance = new XmlConfigReader();
		}
		return instance;
	}
	
	
	/*
	 * 返回jdbc相关配置
	 * */
	public JdbcConfig getJdbcConfig(){
		return jdbcConfig;
	}
	
	public static void main(String[] args) {
		JdbcConfig jdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();
		System.out.println(jdbcConfig);//要求写jdbcConfig的toString()方法,否则报错
	}

右键-->Run as-->Java Application,


结果如下 ,表示连接成功:

com.orcl.drp.util.JdbcConfig{driverName:oracle.jdbc.driver.OracleDriver,url:jdbc:oracle:thin:@localhost:1521:orcl,userName:drp1}


总结:

    运行时,这段报了个路径错误,看了好几遍,竟然没看出来xml文件名“.”写成了"-",还好心态好,不然直接晕倒。哈哈。。


感谢您的阅读!


猜你喜欢

转载自blog.csdn.net/hongwei15732623364/article/details/60970559