资源简介

用配置文件和工厂模式访问多种数据库 知识点: 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 < str.length; 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  connectDatabase\.classpath

     文件        391  2008-08-15 08:44  connectDatabase\.project

     文件        103  2008-08-15 11:38  connectDatabase\.settings\org.eclipse.core.resources.prefs

     文件       1010  2008-08-20 08:38  connectDatabase\bin\Database.properties

     文件        505  2008-08-15 10:02  connectDatabase\bin\log4j.properties

     文件       4725  2008-08-20 08:42  connectDatabase\bin\testConnect\connectDatabase.class

     文件     147456  2008-08-15 09:06  connectDatabase\Database\Access.mdb

     文件     719885  2007-08-01 07:08  connectDatabase\lib\Excel\jxl.jar

     文件     391834  2007-08-25 00:29  connectDatabase\lib\log4j-1.2.15.jar

     文件     284752  2008-06-28 08:35  connectDatabase\lib\SQL2000\msbase.jar

     文件      64856  2008-06-28 08:35  connectDatabase\lib\SQL2000\mssqlserver.jar

     文件      59865  2008-06-28 08:35  connectDatabase\lib\SQL2000\msutil.jar

     文件     583286  2007-12-13 22:25  connectDatabase\lib\sql2005\sqljdbc.jar

     文件      19403  2008-08-15 10:02  connectDatabase\log\Database.log

     文件       1010  2008-08-20 08:38  connectDatabase\src\Database.properties

     文件        505  2008-08-15 10:02  connectDatabase\src\log4j.properties

     文件       3534  2008-08-20 08:42  connectDatabase\src\testConnect\connectDatabase.java

     目录          0  2008-08-19 08:48  connectDatabase\bin\testConnect

     目录          0  2008-08-15 08:45  connectDatabase\lib\Excel

     目录          0  2008-08-15 08:45  connectDatabase\lib\SQL2000

    ..AD...         0  2008-08-15 08:45  connectDatabase\lib\sql2005

     目录          0  2008-08-15 08:49  connectDatabase\src\testConnect

     目录          0  2008-08-15 11:38  connectDatabase\.settings

     目录          0  2008-08-20 08:38  connectDatabase\bin

     目录          0  2008-08-20 08:39  connectDatabase\Database

     目录          0  2008-08-15 08:45  connectDatabase\lib

     目录          0  2008-08-15 08:47  connectDatabase\log

     目录          0  2008-08-15 08:49  connectDatabase\src

     目录          0  2008-08-15 11:38  connectDatabase

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论