1:连接数据库信息配置在xml中
<?xml version="1.0" encoding="UTF-8"?>
<datasource>
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/test</url>
<userName>root</userName>
<userPassword>root</userPassword>
</datasource>
2:通过dom4j解析xml(下载必要的jar包)
package com.igowei.commoms;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 使用dom4j读取xml配置的数据源信息
*
* @author Administrator
*
*/
public class Dom4jReadXml {
private static String driver;
private static String url;
private static String userName;
private static String userPassword;
private static Connection connection;
private static HashMap<String, String> hashmap;
/**
* 静态块负责解析xml
*/
static {
// 创建解析器
SAXReader reader = new SAXReader();
try {
// 解析器读取配置文件(返回文档)
Document document = reader.read(new File(
"src/com/igowei/db/xml/DB.xml"));
// 取得文档的根元素
Element element = document.getRootElement();
Iterator iterator = element.elementIterator();
while (iterator.hasNext()) {
Element et = (Element) iterator.next();
if (et.getName().equals("driver")) {
driver = et.getText();
}
if (et.getName().equals("url")) {
url = et.getText();
}
if (et.getName().equals("userName")) {
userName = et.getText();
}
if (et.getName().equals("userPassword")) {
userPassword = et.getText();
}
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() {
try {
Class.forName(driver);
connection = DriverManager.getConnection(url, userName, userPassword);
return connection;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
System.out.println(Dom4jReadXml.getConnection());
}
}
地址:http://shanxisuidezhanglu.blog.163.com/blog/static/14089726220102189521646/