JDBC——入门知识【转】
1. 什么是JDBC:Java數據庫連接性(Java?Database Connectivity) API,允許用戶從Java應用程序中訪問任何表格化數據源。
2. JDBC除了提供到更寬范圍的SQL數據庫的連接外,也允許用戶訪問其他的表格數據源,如:電子表格。
3. JDBC定義了一個底層的API,用來支持獨立于任何特定SQL實現的基本SQL功能。這意味著重要的是執行原SQL語句,然后檢索它們的結果。
4. JDBC2.0 API包括兩個包:java.sql和jvax.sql。
5. JDBC3.0規范,于2001年10月發布,引入幾個特性,包括支持各種數據類型,附加的元數據能力,并增加了大量的接口。
6. JDBC的三種主要功能如下:
- ?建立與數據庫或其他表列數據源的連接;
- 向數據庫發送SQL命令
- 處理結果
7. 使用JDBC API訪問數據庫,并處理結果集的主要步驟:
- 裝載JDBC驅動程序
- 獲取數據庫連接
- 創建一條語句,執行SQL環境(Statement)
- 執行SQL查詢
- 從ResultSet中檢索數據
- 釋放資源
8. 裝載JDBC驅動程序的幾種方式:
- Class.forName("驅動類的全限定名");
- Driver d = new 驅動類全限定名();
DriverManager.registerDriver(d); // 可以省略此句 - java -Djdbc.drivers = 驅動類全限定名
此種方式是在啟動JVM時就將驅動類加載進Java虛擬機
9. 獲取數據庫連接
????Connection conn = DriverManager.getConnection( url, user, password );
?
10. 創建執行SQL環境
????Statement stmt = conn.createStatement();
?
11. 執行SQL
????String sql = "select rownum, sysdate from dual";
????ResultSet rs = stmt.executeQuery(sql);
?
12. 處理結果集
????while(rs.next()) {
????????int i = rs.getInt(1);
????????Date d = rs.getDate(2);
????????System.out.println(i + " , " + d);
????}
????// 注意,JDBC結果集列是從“1”開始的,而其它地方如hibernate等都是從“0”開始的
?
13. 釋放資源
????if(rs != null) rs.close();
????if(stmt != null) stmt.close();
????if(conn != null) conn.close();
?
14. 常見的幾種數據庫連接方式:
- Oracle數據庫:
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@[hostName]:[port]:[DB]"; - MySQL數據庫:
Class.forName("");
String url = "jdbc:mysql://[hostName]:[port]/[DB]";
15. JDBC驅動程序類型(4種)
- JDBC-ODBC橋 + ODBC驅動程序
優點:
它提供連接幾乎所有平臺上的所有數據庫能力;
它可能是訪問低端桌面數據庫和應用程序的唯一方式。
缺點:
ODBC驅動程序也必須加載到目標機上;
JDBC和ODBC轉換影響性能。 - 本地API部分Java驅動程序
優點:
比前一種驅動程序快得多
缺點:
需要在目標機上有本地代碼;
它們依賴的Java本地接口在不同JVM的提供商間的實現不一致。 - JDBC-Net純Java驅動程序
優點:
不要求客戶上有任何本地二進制代碼;
不需要客戶安裝;
支持多個網絡選項。
缺點:
由于網絡接口將體系結構復雜化,因此很難建立。 - 本地協議純Java驅動程序
目前的驅動程序都是使用這種,比JDBC-ODBC橋快得多,100%Java驅動程序,本地協議。
轉載于:https://www.cnblogs.com/Lxiaojiang/p/6708538.html
總結
以上是生活随笔為你收集整理的JDBC——入门知识【转】的全部內容,希望文章能夠幫你解決所遇到的問題。