目标:
在XML存储数据库连接的信息,使用Jdom来取得XML里的数据,实现数据库连接
程序代码:
MySQLTest.java
package person.fane.test;
/*
* 创建日期 2005-7-15
* created by Fane
*/
import java.sql.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import java.io.*;
/**
* A JDBC test application for Sybase
* @author Fane
* @version 1.0.0
* @since JDK1.4
*/
public class MySQLTest {
private String mysqlDriverName ;
private String mysqlUrlToConnect ;
private String userName;
private String password;
private Connection myConnection = null;
/**
* To load the param from XML and register the Driver
*
*/
public MySQLTest()
{
/*
* load the param from XML
*/
try
{
SAXBuilder mySAXBuilder = new SAXBuilder();
Document xmlDocument = mySAXBuilder.build(new FileInputStream("databaseDriver.xml"));
Element rootElement = xmlDocument.getRootElement();
String driver_name = rootElement.getChildText("driver_name");
String db_url = rootElement.getChildText("db_url");
String user = rootElement.getChildText("user");
String pwd = rootElement.getChildText("password");
setMysqlDriverName(driver_name);
setMysqlUrlToConnect(db_url);
setUserName(user);
setPassword(pwd);
}catch(Exception ex)
{
System.out.println(ErrorMsgOutput.getErrorMessage(ex,"The XML file loaded error").toString());
}
/*
* register the Driver
*/
try
{
Class.forName(getMysqlDriverName());
}catch(Exception ex)
{
System.out.println(ErrorMsgOutput.getErrorMessage(ex,"The Driver loaded error,please contact to your Software Designer!").toString());
}
}
/**
* getConnection method
* @return Connection
*/
public Connection getConnection()
{
try
{
this.myConnection = DriverManager.getConnection(getMysqlUrlToConnect() ,getUserName() ,getPassword());
}catch(Exception ex)
{
System.out.println(ErrorMsgOutput.getErrorMessage(ex,"Can not get connection,please contact to your Software Designer!").toString());
}
return this.myConnection;
}
/**
* main method
* @param args
*/
public static void main(String[] args) {
MySQLTest mySQLTest = new MySQLTest();
try
{
Connection myConnection = mySQLTest.getConnection();
System.out.println("Now begin to excute.............");
PreparedStatement myPreparedStatement = myConnection.prepareStatement("select * from c_used_model");
//myPreparedStatement.setInt(1,2);
ResultSet myResultSet = myPreparedStatement.executeQuery();
StringBuffer myStringBuffer = new StringBuffer();
while(myResultSet.next())
{
myStringBuffer.append(myResultSet.getInt("area_id")+" ");
myStringBuffer.append(myResultSet.getInt("bureau_id")+" ");
myStringBuffer.append(myResultSet.getInt("model_id")+" ");
myStringBuffer.append(myResultSet.getInt("board_num")+" ");
myStringBuffer.append(myResultSet.getInt("host_id")+" ");
myStringBuffer.append(myResultSet.getString("model_label")+" ");
myStringBuffer.append(myResultSet.getString("model_name")+"/n");
}
System.out.println(new String(myStringBuffer.toString().getBytes("ISO-8859-1"),"GBK"));
}catch(Exception ex)
{
System.out.println(ErrorMsgOutput.getErrorMessage(ex,"Application error,please contact to your Software Designer!").toString());
}
}
/**
* @return 返回 mysqlDriverName。
*/
private String getMysqlDriverName() {
return mysqlDriverName;
}
/**
* @param mysqlDriverName 要设置的 mysqlDriverName。
*/
private void setMysqlDriverName(String mysqlDriverName) {
this.mysqlDriverName = mysqlDriverName;
}
/**
* @return 返回 mysqlUrlToConnect。
*/
private String getMysqlUrlToConnect() {
return mysqlUrlToConnect;
}
/**
* @param mysqlUrlToConnect 要设置的 mysqlUrlToConnect。
*/
private void setMysqlUrlToConnect(String mysqlUrlToConnect) {
this.mysqlUrlToConnect = mysqlUrlToConnect;
}
/**
* @return 返回 password。
*/
private String getPassword() {
return password;
}
/**
* @param password 要设置的 password。
*/
private void setPassword(String password) {
this.password = password;
}
/**
* @return 返回 userName。
*/
private String getUserName() {
return userName;
}
/**
* @param userName 要设置的 userName。
*/
private void setUserName(String userName) {
this.userName = userName;
}
}
XML文件:
databaseDriver.xml
<?xml version="1.0" encoding="GBK"?>
<database_driver>
<driver_name>com.mysql.jdbc.Driver</driver_name>
<db_url>jdbc:mysql://localhost:3306/web</db_url>
<user>root</user>
<password>XXX</password>
</database_driver>
因篇幅问题不能全部显示,请点此查看更多更全内容