淺談用JDBC連接MySQL
在學(xué)習(xí)數(shù)據(jù)庫開發(fā)的實(shí)例,這里淺談一下用JDBC連接數(shù)據(jù)庫MySQL(當(dāng)然也可以連接 SQL Server或者Oracle了,只是我更喜歡開源軟件,同時也簡單些。。。)
首先正確安裝好MySQL,建立好數(shù)據(jù)庫,下面我們來建立一個數(shù)據(jù)庫吧。
JDBC連接MySQL
加載節(jié)注冊JDBC驅(qū)動程序,
Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
JDBC URL定義驅(qū)動程序與數(shù)據(jù)庫之間的鏈接
標(biāo)準(zhǔn)語法:
<protocol(主要通信協(xié)議)>:<subprotocol(次要通訊協(xié)議,驅(qū)動程序名稱)>:<data source identifier(數(shù)據(jù)源)>
MySQL JDBC URL的格式:
jdbc:mysql://[hostname][:port]/[dbname][?param1=value1][¶m2=value2]….
例如:
jdbc:mysql://localhost:3306/jdbc_db","root","1234"
常見參數(shù):
user 用戶名
password 密碼
autoReconnect 聯(lián)機(jī)失敗,是否重新聯(lián)機(jī)(true/false)
maxReconnect 嘗試重新聯(lián)機(jī)次數(shù)
initialTimeout 嘗試重新聯(lián)機(jī)間隔
maxRows 傳回最大行數(shù)
useUnicode 是否使用Unicode字體編碼(true/false)
characterEncoding 何種編碼(GB2312/UTF-8/…)
relaxAutocommit 是否自動提交(true/false)
capitalizeTypeNames 數(shù)據(jù)定義的名稱以大寫表示
JDBC訪問數(shù)據(jù)庫的步驟:
1.加載數(shù)據(jù)庫驅(qū)動
2.獲得數(shù)據(jù)庫連接
3.創(chuàng)建SQL語句
4.執(zhí)行查詢
5.遍歷結(jié)果集
6.關(guān)閉數(shù)據(jù)庫連接
數(shù)據(jù)庫的鏈接一般有三種方法,這里簡單說一種,有小例子如下:
ckage com.bx.jdbc;
port java.sql.Connection;
port java.sql.DriverManager;
port java.util.Properties;
public class ConnectionUtil {
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加載驅(qū)動
Class.forName(driver);
// DriverManager獲得連接
conn = DriverManager.getConnection(url,user, password);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
執(zhí)行的主函數(shù)如下:
package com.bx.jdbc;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
ConnectionUtil cu = new ConnectionUtil();
// 第三種方法
System.out.println("這是最常用的一種方法:" + cu.openConnection());
}
}
執(zhí)行結(jié)果:
謝謝大家分享,但愿能對您帶來一點(diǎn)幫助,希望能幫提出寶貴的意見。。。
posted on 2010-12-08 09:03
龍ぜ?xì)垊?/a> 閱讀(2474) 評論(2) 編輯 收藏