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.println(set.getString("ID") + "\t"
+ set.getString("Name") + "\t" + set.getString("Age"));
}
} catch (SQLException e) {
e.printStackTrace();
}
// 关闭数据库相关对象
set.close();
stat.close();
conn.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
用配置文件和工厂模式访问多种数据库.rar (17个子文件)
connectDataBase
log
DataBase.log 19KB
bin
log4j.properties 505B
testConnect
connectDataBase.class 5KB
DataBase.properties 1010B
.settings
org.eclipse.core.resources.prefs 103B
src
log4j.properties 505B
testConnect
connectDataBase.java 3KB
DataBase.properties 1010B
.project 391B
.classpath 807B
lib
SQL2000
mssqlserver.jar 63KB
msbase.jar 278KB
msutil.jar 58KB
Excel
jxl.jar 703KB
log4j-1.2.15.jar 383KB
sql2005
sqljdbc.jar 570KB
DataBase
Access.mdb 144KB
共 17 条
- 1
资源评论
nfang
- 粉丝: 1
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python:利用matplotlib绘制直方图
- 基于matlab块匹配全景图像拼接系统代码12
- 基于matlab小波变换图像融合系统代码11
- 精雕3.5NC后置文件
- yolov8n-pose.pt 用 yolov8n-pose.onnx下载
- C++之STL的vector详解,包括初始化和各种函数:vector的初始化、数据的增删查改等
- stable-diffusion-webui-master
- openPLC-Editor C语言编程 在mp157 arm板上调用io等使用记录
- 无人机悬停时间计算软件.rar
- 主要讲解 mybatis中 实体层的属性与表的列不一致时如何处理? 可以采用将列重命名方法还可以采用resultMap 方式
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功