[drp 3]读取Xml配置文件,连接数据库


导读
:之前看一本XML的书,里面说到了对于XML的操作问题,但由于各方面的原因,一直没有总结。这次借着做项目,就总结总结对于XML文件的利用。主要是从配置数据库连接和保存数据这两方面来的。这篇博客介绍配置数据库连接,下篇介绍读取XML数据,保存至数据库。

 

一、建立XML文件

 

 

关于以上配置的内容,可以上网查一下。

 

二、读取Xml文件,设置jdbc的相关参数

<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.angel.drp.util;
 
import java.io.InputStream;
 
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
 
/**
 * 解析
 *@author AngelHHX
 *
 */
public class XmlConfigReader {
 
         privatestatic XmlConfigReader instance = null;
 
         privateJdbcConfig jdbcConfig=new JdbcConfig();
        
         privateXmlConfigReader() {
                   SAXReaderreader = new SAXReader();
                   InputStreamin =Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");
                   try{
                            Documentdoc = reader.read(in);
                            //取得jdbc相关的配置
                            ElementdriverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");
                            ElementurlElt = (Element) doc.selectObject("/config/db-info/url");
                            ElementuserNameElt = (Element)doc.selectObject("/config/db-info/user-name");
                            ElementpasswordElt = (Element) doc.selectObject("/config/db-info/password");
                            //设置jdbc相关的配置
                            jdbcConfig.setDriverName(driverNameElt.getStringValue());
                            jdbcConfig.setUrl(urlElt.getStringValue());
                            jdbcConfig.setPassword(passwordElt.getStringValue());
                            jdbcConfig.setUserName(userNameElt.getStringValue());
                   }catch (DocumentException e) {
                            e.printStackTrace();
                   }
         }
 
         publicstatic synchronized XmlConfigReader getInstance() {
                   if(instance == null) {
                            instance= new XmlConfigReader();
                   }
                   returninstance;
         }
 
         /**
          * 返回jdbc相关配置
          * @return
          */
         publicJdbcConfig getJdbcConfig(){
                   returnjdbcConfig;
         }
}
 </span>


 

需要引入的jar包:

 

 

三、取得数据库的连接

<span style="font-family:KaiTi_GB2312;font-size:18px;">/**
          * 取得Connection
          * @return
          * @throws ClassNotFoundException
          */
         publicstatic Connection getConnection(){
                   Connectionconn=null;
                   try{
                            JdbcConfigjdbcConfig = XmlConfigReader.getInstance().getJdbcConfig();
                            Class.forName(jdbcConfig.getDriverName());
                            conn=DriverManager.getConnection(jdbcConfig.getUrl(),jdbcConfig.getUserName(), jdbcConfig.getPassword());
                   }catch (ClassNotFoundException e) {
                            e.printStackTrace();
                   }catch (SQLException e) {
                            e.printStackTrace();
                   }
                   returnconn;
         }
 </span>


此处略去释放连接等几个方法。其后续的具体应用,就跟之前用SQLHelper一样。事实上之前用SQL Server的时候,后面也是从配置文件读取的连接信息。不过就是Oracle配置的东西多了点而已。

 

四、总结

不管做什么吧,数据持久化肯定是要有的。而连接数据库是第一项要务,之前都稀里糊涂的过来了,现在要明确它。后续还需要总结Hibernate的一些东西才行。多写代码多总结,少吃零食多睡觉。

 


原文地址:https://www.cnblogs.com/hhx626/p/6010341.html