資源簡介
用配置文件和工廠模式訪問多種數據庫
知識點:
1、配置文件
2、log4j
3、工廠模式

代碼片段和文件信息
package?testConnect;
import?java.io.IOException;
import?java.io.InputStream;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.ResultSet;
import?java.sql.SQLException;
import?java.sql.Statement;
import?java.util.Properties;
import?java.util.Scanner;
import?org.apache.log4j.Logger;
public?class?connectDatabase?{
/**
?*?@param?args
?*?@throws?SQLException
?*/
public?static?void?main(String[]?args)?throws?SQLException?{
String?DBName?=?““;//?數據庫名
String?TableName?=?““;//?表名
String[]?TableHead?=?null;//?表頭
String?Driver?=?““;//?驅動名稱
String?URL?=?““;//?數據庫路徑
String?USER?=?““;//?用戶名
String?PWD?=?““;//?密碼
//?SQL語句
String?SQL?=?““;
//?Log4j
Logger?logger?=?Logger.getLogger(connectDatabase.class.getName());
//?讀取配置文件
Properties?pro?=?new?Properties();
InputStream?in?=?connectDatabase.class
.getResourceAsStream(“..\\Database.properties“);
try?{
//?載入配置文件
pro.load(in);
//?數據庫名
DBName?=?(String)?pro.getProperty(“DatabaseType“);
logger.debug(“DBName?=?“?+?DBName);
String[]?str?=?DBName.split(““);
for?(int?i?=?0;?i? System.out.println((i?+?1)?+?“.?“?+?str[i]);
}
System.out.println(“請選擇要連接的數據庫:“);
Scanner?input?=?new?Scanner(System.in);
int?i?=?input.nextInt();
DBName?=?str[i?-?1];
//?表名
TableName?=?(String)?pro.get(“TableName“);
logger.debug(“TableName?=?“?+?TableName);
//?表頭
String?head?=?(String)?pro.get(“TableHead“);
logger.debug(“TableHead?=?“?+?TableHead);
//?轉換編碼格式
String?newhead?=?new?String(head.getBytes(“ISO-8859-1“)?“utf-8“);
//?轉換成數組
TableHead?=?newhead.split(““);
//?驅動名
Driver?=?(String)?pro.get(DBName?+?“Driver“);
logger.debug(“DBDriver?=?“?+?Driver);
//?數據庫路徑
URL?=?(String)?pro.get(DBName?+?“URL“);
logger.debug(“DBURL?=?“?+?URL);
//?用戶名
USER?=?(String)?pro.get(DBName?+?“User“);
logger.debug(“DBUSER?=?“?+?USER);
//?密碼
PWD?=?(String)?pro.get(DBName?+?“PWD“);
logger.debug(“DBPassWord?=?“?+?PWD);
}?catch?(IOException?e)?{
e.printStackTrace();
}
try?{
//?加載驅動
Class.forName(Driver);
}?catch?(ClassNotFoundException?e)?{
e.printStackTrace();
}
//?定義數據庫連接對象
Connection?conn?=?null;
try?{
//?打開連接
conn?=?DriverManager.getConnection(URL?USER?PWD);
}?catch?(SQLException?e)?{
e.printStackTrace();
}
//?定義數據庫命令集
Statement?stat?=?null;
try?{
//?創建命令
stat?=?conn.createStatement();
}?catch?(SQLException?e)?{
e.printStackTrace();
}
//?定義結果集
ResultSet?set?=?null;
try?{
//?SQL語句
SQL?=?“SELECT?*?FROM?“?+?TableName;
//?執行SQL語句并返回結果集
set?=?stat.executeQuery(SQL);
}?catch?(SQLException?e)?{
e.printStackTrace();
}
//?打印表頭
for?(String?h?:?TableHead)?{
System.out.print(h?+?“\t“);
}
System.out.println();
try?{
//?打印結果集里的內容
while?(set.next())?{
System.out.
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????807??2008-08-15?09:14??connectDataba
?????文件????????391??2008-08-15?08:44??connectDataba
?????文件????????103??2008-08-15?11:38??connectDataba
?????文件???????1010??2008-08-20?08:38??connectDataba
?????文件????????505??2008-08-15?10:02??connectDataba
?????文件???????4725??2008-08-20?08:42??connectDataba
?????文件?????147456??2008-08-15?09:06??connectDataba
?????文件?????719885??2007-08-01?07:08??connectDataba
?????文件?????391834??2007-08-25?00:29??connectDataba
?????文件?????284752??2008-06-28?08:35??connectDataba
?????文件??????64856??2008-06-28?08:35??connectDataba
?????文件??????59865??2008-06-28?08:35??connectDataba
?????文件?????583286??2007-12-13?22:25??connectDataba
?????文件??????19403??2008-08-15?10:02??connectDataba
?????文件???????1010??2008-08-20?08:38??connectDataba
?????文件????????505??2008-08-15?10:02??connectDataba
?????文件???????3534??2008-08-20?08:42??connectDataba
?????目錄??????????0??2008-08-19?08:48??connectDataba
?????目錄??????????0??2008-08-15?08:45??connectDataba
?????目錄??????????0??2008-08-15?08:45??connectDataba
????..AD...?????????0??2008-08-15?08:45??connectDataba
?????目錄??????????0??2008-08-15?08:49??connectDataba
?????目錄??????????0??2008-08-15?11:38??connectDataba
?????目錄??????????0??2008-08-20?08:38??connectDataba
?????目錄??????????0??2008-08-20?08:39??connectDataba
?????目錄??????????0??2008-08-15?08:45??connectDataba
?????目錄??????????0??2008-08-15?08:47??connectDataba
?????目錄??????????0??2008-08-15?08:49??connectDataba
?????目錄??????????0??2008-08-15?11:38??connectDataba
-----------?---------??----------?-----??----
............此處省略2個文件信息
評論
共有 條評論