JDBC是java數據庫連接(Java Datebase Connectivity)的縮寫,下面以oracle數據庫連接爲例,談一下用.properties作爲配置文件連接數據庫。
使用JDBC可以對數據庫進行增、刪、改、查(CURD:創建(Create)、更新(Update)、讀取(Retrieve)和刪除(Delete))操作,需要配置驅動文件,才能夠使用JDBC的功能。可以直接在java代碼種配置驅動,方法如下:
第一步:導入jar包 在src文件夾下建立lib文件夾,用於放置驅動jar包。根據jdk的版本選擇不同的jar包。例如我使用的是jdk1.6版本,我選擇的是ojdbc6.jar。選中jar包,單擊右鍵,選擇build path,成功創建訪問路徑之後就可以添加驅動了;
第二步:添加驅動
需要配置如下信息:
driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:orcl
user = scott
password = tiger
注:
1.獲取driver路徑的方法:打開添加之後類庫(library),展開ojdbc6.jar,找到oracle.jdbc.driver並展開,找到OracleDriver.class並展開,在展開的.class文件上點擊右鍵選擇Copy Qualified Name。推薦使用以上方法,防止書寫遺漏。
2.url爲數據庫的訪問路徑。各個元素的意義如下:
jdbc 數據庫訪問協議
oracle 數據量,如果使用其他數據庫,需要更改數據庫名稱
thin 一種oracle數據庫的驅動模式,常見的oracle數據庫驅動模式還有oci,一般都是用thin
@localhost 本地主機ip,還可以用127.0.0.1進行訪問,如果數據庫位於其他ip需要使用數據庫主機的ip進行訪問
1521 oracle數據庫訪問的端口號
orcl 數據庫安裝時輸入的訪問名稱
3.user 數據庫用戶 開發者創建數據庫之後提供相應的用戶名,本例使用oracle示例的用戶名和密碼
4.password 數據庫用戶登陸密碼
第三步 創建數據庫連接 配置好以上信息之後可以使用反射的方法來配置驅動,方法如下:
//反射創建驅動管理器
Class.forName(driver);
//創建數據庫訪問Connection
Connection conn = DriverManager.getConnection(url, user, password);
//創建sql語句
String sql = “~~~~~~~”;//根據自己的需求創建
第四步 創建發送語句並執行
//創建發送語句PreparedStatement
PreparedStatement pstmt = conn.prepareStatement(sql);
//執行sql語句(以查詢爲例)
ResultSet rs = pstmt.excuteQuery();
第五步 數據處理
//按照需求對rs進行處理
第六步 關閉資源
//關閉資源
rs.close();
pstmt.close;
conn.close;
從以上示例可以看出,使用以上方式添加驅動,將驅動的路徑和java代碼書寫在一起,如果數據庫的信息發送變動,需要修改java代碼,可能給開發帶來不便。爲了解決這一問題,可以使用專門的配置文件對配置內容進行處理,當數據庫信息發生變化的時候,只需要修改配置文件就可以,這樣能夠增強代碼的強壯性。具體的實現方法如下:
第一步 創建properties文件
在src包下,創建一個file,名字爲conn.properties, 因爲java.util.properties包能夠對properties文件進行讀寫
在conn.properties文件中添加如下信息:
driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:orcl
user = scott
password = tiger
保存。
第二步 用靜態代碼塊創建驅動
//變量聲明
private static String driver;
private static String url;
private static String user;
private static String password;
//靜態代碼塊創建驅動
static{
//創建Properties對象
Properties prop = new Pro[perties();
//反射讀取conn.properties文件
prop.load(ClassName.class.getClassLoader().getResourceAsStream("conn.properties"));
//對成員變量進行賦值
driver = prop.getProperty("driver");
url = prop.getProperty("url");
user = prop.getProperty("user");
password = prop.getProperty("passeord");
//反射獲取驅動管理器
Class.forName(driver);
}
以上獲取驅動的方式的好處在於將配置驅動的信息與java代碼分開,在數據庫信息變動的時候只需要修改配置文件conn.properties即可,不需要修改java代碼,提高了程序的強壯性。