package com.meteor.yun;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* @author Xuyunfei
*本实例程序主要是Java jdbc 连接My sql 数据库
*其中用到了JAVA.Util.Properties类,可以从本地的文件加载到流中,从中读取基本信息
*虽然它继承的是Hashtable类,可以使用put()和putAll()方法,但是jdk中不建议使用
*因为Properties类中的键与值都是一个字符串类型,HashTable中允许插入不是String项
*个人觉得可以使用泛型进行控制类型的插入
*建议使用本类的setProperties()/getProperties()设置或获取相应的键值
*注:在使用setProperties()想文件中注入键值时,一定先调用setProperties()方法然后在调用
*store()存到文件中
*/
public class DataConnection {
private Properties proper;
private Connection con;
private FileReader fr;
public static void main(String[] args) {
new DataConnection().loadDriver();
}
public void loadDriver() {
proper = new Properties();
try {
fr = new FileReader("src/properties/conData.properties");
proper.load(fr);
Class.forName(proper.getProperty("DRIVERLOAD"));
System.out.println("驱动加载成功!!!");
this.conData();
} catch (FileNotFoundException fe) {
System.out.println("指定路径的文件不存在或者无权限访问!!!");
fe.printStackTrace();
} catch (IOException ie) {
ie.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("无法找到所加载的驱动,或是驱动文件不存在!!!");
e.printStackTrace();
}finally{
try {
fr.close();
con.close();
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void conData(){
try {
con = DriverManager.getConnection(proper.getProperty("URL"), proper.getProperty("USER"), proper.getProperty("PASSWORD"));
System.out.println("数据库连接成功!!!");
} catch (SQLException e) {
System.out.println("不能连接到指定的数据库,请检查相应的基本信息!!!");
e.printStackTrace();
}
}
}
配置文件 conData.properties 内容:
#author xuyufei
#2012-06-20 11:00:00
DRIVERLOAD=com.mysql.jdbc.Driver
URL=jdbc:mysql://127.0.0.1:3306/test
USER=root
PASSWORD=qsyxyf21390