java- xml 本地配置信息读取

1、建立配置文件:


内容:

<?xml version="1.0" encoding="UTF-8"?>
<dbmsg>
 <dbinfo>
  <drivername>com.mysql.jdbc.Driver</drivername>
  <sConnStr>jdbc:mysql://127.0.0.1/db_patient</sConnStr>
  <username>root</username>
  <password>root</password>
 </dbinfo>
</dbmsg>


2、建立文件读取类:

ConnectXml.java


package org.com.util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


public class ConnectXml {
private String drivername;
private String sConnStr;
private String username;
private String password;
public String getDrivername() {
 return drivername;
}


public String getSConnStr() {
 return sConnStr;
}


public String getUsername() {
 return username;
}


public String getPassword() {
 return password;
}
public void setDrivername(String drivername) {
 this.drivername = drivername;
}


public void setSConnStr(String connStr) {
 sConnStr = connStr;
}


public void setUsername(String username) {
 this.username = username;
}


public void setPassword(String password) {
 this.password = password;
}


public ConnectXml(String fileName){
 DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
 try {
  DocumentBuilder dombuilder=domfac.newDocumentBuilder();
  InputStream is=new FileInputStream(fileName);
  Document doc=dombuilder.parse(is);
  Element root=doc.getDocumentElement();
  NodeList dbinfo=root.getChildNodes();
  if(dbinfo!=null){
   for(int i=0;i<dbinfo.getLength();i++){
    Node db=dbinfo.item(i);
      for(Node node=db.getFirstChild();node!=null;node=node.getNextSibling()){
       if(node.getNodeType()==Node.ELEMENT_NODE){
        if(node.getNodeName().equals("drivername")){
         setDrivername(node.getFirstChild().getNodeValue());
        }
        if(node.getNodeName().equals("sConnStr")){
         setSConnStr(node.getFirstChild().getNodeValue());
        }
        if(node.getNodeName().equals("username")){
         setUsername(node.getFirstChild().getNodeValue());
        }
        if(node.getNodeName().equals("password")){
         setPassword(node.getFirstChild().getNodeValue());
        }
       }
     }         
      }        
    }
 } catch (ParserConfigurationException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 } catch (FileNotFoundException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 } catch (SAXException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }  

}


其他类中进行调用:



public class DbUtil {


private String dbUrlmore="?useUnicode=true&characterEncoding=utf8";
/**
* 链接数据库,读取xml 配置文件
*
* @return
* @throws Exception
*/
public Connection getCon() throws Exception{
String dirpath = System.getProperty("user.dir");
 String  xmlFile = dirpath + "/../webapps/PatientInfo/
Config.xml";  // 采用本地tomcat  执行读取
 ConnectXml rdxml = new ConnectXml(xmlFile);
 String driverName = rdxml.getDrivername();
 String sConnStr = rdxml.getSConnStr();
 String userName = rdxml.getUsername();
 String passWord = rdxml.getPassword();

 
 sConnStr = sConnStr + dbUrlmore;
 //System.out.println(driverName + sConnStr +userName + passWord);

Class.forName(driverName);
Connection con=DriverManager.getConnection(sConnStr,userName,passWord);
return con;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值