在前面的文章中,我曾簡述過JDBC編程步驟:1.加載數據庫驅動。2.獲得數據庫連接。3.創建SQL語句。4.執行查詢。5.遍歷結果集。6.關閉數據庫連接。其實要想實現連接數據庫可以有不同的方法。下面我將給大家具體介紹:
// 第一種方法
public Connection getConnection() {
Connection conn = null;
try {
// Class.forName加載驅動
Class.forName("com.mysql.jdbc.Driver");
// DriverManager獲得連接
conn = DriverManager
.getConnection("jdbc:mysql://localhost:3306/jdbc_db",
"root", "1234");
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
這是最簡單而且清晰明了的方法了,需要說明的是在建立連接前我們應在程序的開始引入相關的Java包 java.sql.Connection;java.sql.DriverManager;我們編寫的getConnection方法為無參方法,在方法里面直接用字符串"com.mysql.jdbc.Driver"和"jdbc:mysql://localhost:3306/jdbc_db", "root", "8185311"作為forName()和getConnection()方法的實參。
// 第二種方法
public Connection getConnection(String driver, String url, String user,
String password) {
Connection conn = null;
try {
// Class.forName加載驅動
Class.forName(driver);
// DriverManager獲得連接
conn = DriverManager.getConnection(url, user, password);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
此方法和上面的很相似,只不過該方法引入了形參:driver,url,user,password.在方法的定義中,直接將實參的值傳遞到forName()和getConnection()方法里面,使調用數據庫的方法靈活性提高。
// 第三種方法
public Connection openConnection() {
String driver = "";
String url = "";
String user = "";
String password = "";
Properties prop = new Properties();
Connection conn = null;
try {
// 加載屬性文件
prop.load(this.getClass().getClassLoader().getResourceAsStream(
"DBConfig.properties"));
driver = prop.getProperty("driver");
url = prop.getProperty("url");
user = prop.getProperty("user");
password = prop.getProperty("password");
// Class.forName加載驅動
Class.forName(driver);
// DriverManager獲得連接
conn = DriverManager.getConnection(url,
user, password);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
第三種方法是很重要的方法,也是我們應該首先的方法,它涉及到了配置文件的使用。在建立連接前我們只需把連接數據庫的相關信息放到配置文件中,如圖:
該配置文件放到和該項目相通的目錄下面,如圖:
這樣使key和value相對應,在需要建立數據庫連接的時候,程序會從配置文件中去搜索相關信息來建立連接。不但使程序的靈活性提高,而且最終要的是當我們需要改變要連接的數據庫時,不用修改相關的程序代碼,只需更改配置文件就能滿足功能的需求。這樣一來使代碼的復用性大大提高,不僅減少了代碼量,而且使程序的可讀性提高。
跟大家介紹了上述三種連接數據庫的方法,提倡大家平時使用第三種,當我們涉及到大的項目時,它的好處體現的更加明顯。