📄 dbconfig.java
字号:
/*
* DBConfig.java
*
* Created on 2007年5月12日, 下午1:14
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package utils;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import plugin.*;
/**
*
* @author Virlene Cheng
*/
public class DBConfig implements IDBResource
{
public static final String CONFIG_DB_FILE = "Athena.xml";
public static final String NODE_DATABASE = "database";
public static final String NODE_DRIVER = "driver";
public static final String NODE_URL = "url";
public static final String NODE_USERNAME = "username";
public static final String NODE_PASSWORD = "password";
private String configFile;
private String driver;
private String url;
private String username;
private String password;
/** 构造函数 */
public DBConfig()
{
this.configFile = DBConfig.CONFIG_DB_FILE;
loadConfig();
}
/**
* 构造函数
* @param 配置文件
*/
public DBConfig(String configFile)
{
this.configFile = configFile;
loadConfig();
}
/**
* 获取数据库连接
* @return 数据库连接
*/
public Connection getConnection()
{
Connection conn = null;
try
{
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
}
catch(Exception ex)
{
ex.printStackTrace();
JOptionPane.showMessageDialog(null, "无法连接数据库,请检查!", "错误", JOptionPane.ERROR_MESSAGE);
}
return conn;
}
/**
* 读取数据库配置
*/
private void loadConfig()
{
try
{
//初始化XML文件读取器
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(configFile);
Element root = doc.getDocumentElement();
//获取数据库配置节点
Node database = root.getElementsByTagName(DBConfig.NODE_DATABASE).item(0);
NodeList list = database.getChildNodes();
//获取数据库的各项配置
for (int i = 0; i < list.getLength(); i++)
{
Node tempNode = list.item(i);
if (tempNode.getNodeName().equals(DBConfig.NODE_DRIVER))
{
driver = tempNode.getTextContent();
}
if (tempNode.getNodeName().equals(DBConfig.NODE_URL))
{
url = tempNode.getTextContent();
}
if (tempNode.getNodeName().equals(DBConfig.NODE_USERNAME))
{
username = tempNode.getTextContent();
}
if (tempNode.getNodeName().equals(DBConfig.NODE_PASSWORD))
{
password = tempNode.getTextContent();
}
}
}
catch(Exception ex)
{
ex.printStackTrace();
JOptionPane.showMessageDialog(null, "读取配置文件错误,请检查文件的完整性!", "错误", JOptionPane.ERROR_MESSAGE);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -