關於Java數據庫連接一定都知道JDBC,JDBC標準定義了Java程序連接數據庫服務器的應用程序接口(JDBC原來是Java數據庫連接Java Database Connectivity的縮寫)。下面是一個使用JDBC接口獲取連接的Java程序例子。
public java.sql.Connection getConnection() {
// TODO: implement
System.out.println("Create Oracle Connection");
java.sql.Connection con = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("開始連接數據庫!");
String url = "jdbc:oracle:" + "thin:@121.121.121.121:1521:ora11g";
String user = "tony";
String password = "123456";
con = DriverManager.getConnection(url, user, password);
System.out.println("連接數據庫成功!");
return con;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
要在Java中訪問數據庫,必須要打開一個數據庫連接,這個時候我們選擇的數據庫可以是運行在你本機上的Mysql, Oracle數據庫服務器,或者是運行在遠程服務器上的Oracle服務器,只有當獲取到數據庫連接之後,Java程序才能執行SQL語句。獲取數據庫連接一般需要兩步,第一就是加載驅動,第二就是通過驅動管理來獲取連接。
Class.forName函數完成完成驅動程序的加載,在調用時通過參數來指定一個實現了java.sql.Driver接口的實體類。這個接口的功能是爲了實現不同層面的操作之間的轉換,一邊是於數據庫產品類型無關的JDBC操作,另一邊是於產品相關的。程序代碼中使用了Oracle驅動程序,oracle.jdbc.driver.OracleDriver。該驅動程序包含在一個.jar文件裏,可以從maven庫中或者提供商網站進行下載,然後放在Java的類路徑中,用於Java編譯器訪問。
通過調用DriverManager類的getConnection方法來打開一個數據庫連接,該方法有三個參數
- getConnection方法第一個參數是以字符串類型表示的URL,這個URL = 與數據庫通信使用的協議 + 服務器所在的主機名稱 + 數據庫用來通信的端口號 + 服務器使用的特定數據庫。一個JDBC可能支持多種協議,我們必須制定一個數據庫和驅動器都支持的協議。協議的詳細信息一般是由提供商設定的。
- getConnection方法的第二個參數用於指定一個數據庫用戶標識。
- 第三個參數是密碼(直接寫在JDBC代碼裏邊有安全隱患,別人可能未經授權就查看你的代碼)