JDBC學習筆記(1)

l. 連接到數據庫的方法

答:1) ODBC(Open Database Connectivity)

一個以C語言爲基礎訪問SQL爲基礎數據庫引擎的接口,它提供了一致的接口用于和數據庫溝通以及訪問數據。

2) JDBC

Java版本的ODBC

2. JDBC應用編程接口

答:JDBC應用編程接口是:

1) 標准的數據訪問接口,可以連到不同的數據庫;

2) JAVA編程語言的一組類和接口。

JDBC應用編程接口能夠:

1) 連接到數據庫;

2) 發SQL查詢字符串到數據庫;

3) 處理結果。

JDBC應用編程接口有二個主要的部分:

1) JAVA應用程序開發接口面向JAVA應用程序開發者;

2) JDBC驅動程序開發接口

3. JDBC Driver

答:1) 一大堆實現了JDBC類和接口的類;

2) 提供了一個實現java.sql.Driver接口的類。

4. JDBC Driver的四種類型

答:1) JDBC-ODBC橋

由ODBC驅動提供JDBC訪問

2) 本地API

部分Java driver把JDBC調用轉化成本地的客戶端API

3) JDBC-net

純的Java driver,將JDBC調用轉入DBMS,與網絡協議無關。然後通過服務器將調用轉爲DBMS協議。

4) 本地協議

純的java driver,將JDBC調用直接轉爲DBMS使用的網絡協議

5. JDBC開發者接口

答:1) java.sql--java 2平台下JDBC的主要功能,標准版(J2SE)

2) javax.sql--java 2平台下JDBC增強功能,企業版(J2EE)

6. 使用URL確認數據庫

答:我們使用URL來確定一個數據庫(正確的Driver,正確的主機,正確的協議,正確的協議,正確的用戶名和密碼);

語法:protocol:subprotocol:subname

範例:jdbc:db2:MyTest

jdbc:db2://localhost:6789/MyTest

7. javax.sql包JDBC2.0的增強功能

答:1) 數據源接口;

2) 連接池;

3) 分布式交易;

4) 行集;

8. 創建一個基本的JDBC應用

答:1) 步驟一:注冊一個driver;

2) 步驟二:建立一個到數據庫的連接;

3) 步驟三:創建一個statement;

4) 步驟四:執行SQL語句;

5) 步驟五:處理結果;

6) 步驟六:關閉JDBC對象

9. 注冊一個Driver(步驟一)

答:1) driver被用于連接到數據庫;

2) JDBC應用編程接口使用第一個能成功連接到給定URL的driver;

3) 在同一時間可以裝載多個driver

10.注冊一個driver的方法:

答:1) 使用類loader(裝載;實例化;注冊入DriverManager)

a. Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");

b. Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");

c. Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);

d. Class.forName("oracl.jdbc.driver.OracleDriver");

e. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

2) 實例化一個Driver

a. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();

1. 建立一個到數據庫的連接(步驟二)

答:DriverManager調用getConnection(urlString)方法,實際上調用的是driver的connect(urlString)方法;

1) 當一個driver肯定地對應到一個數據庫URL,DriverManager建立一個連接;

2) 當沒有driver匹配,返回null然後下一個driver被檢驗;

3) 假如沒有建立連接,抛出一個SQLExcepiton異常

2. 經常使用的一些JDBC URL

答:1) JDBC-ODBC: jdbc:odbc:<DB>

2) Oracle: jdbc:oracle:oci:@<sid> or jdbc:oracle:thin:@<SID>

3) Weblogic MS-SQL: jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>

4) DB2: jdbc:db2:MyTest or jdbc.db2://localhost:6789/MyTest(需要用戶名和密碼)

3. Driver連接方法

答:1) 創建一個到指定Driver實例的直接調用;

2) 避免一般訪問的問題

Driver drv = new COM.ibm.db2.jdbc.app.DB2Driver();

Connection con = null;

try {con = drv.connect("jdbc:db2:MyTest",new Properties())}

catch(SQLException e){}

4. 創建一個Statement(步驟三)

答:1) Statement的三個接口:

a. Statement;

b. PreparedStatement(繼承自Statement);

c. CallableStatement(繼承自PreparedStatement);

2) 使用方法Connection.createStatement()得到一個Statement對象

5. PreparedStatement對象

答:1) 調用ProparedStatement比statement更爲高效;

2) 繼承自Statement;

3) 語法:PreparedStatement pstm = connection.prepareStatement(sqlString);

6. CallableStatement對象

答:1) 通過CallableStatement調用數據庫中的存儲過程;

2) 繼承自PreparedStatement;

3) CallableStatement cstm = connection.prepareCall("{call return_student[?,?]}");

cstm.setString(1,"8623034");

cstm.registerOutparameter(2, Types.REAL);

cstm.execute();

float gpa = cstm.getFloat(2);

7. Statement接口的比較

答: | Statement | PreparedStatement | CallableStatement

------------------------------------------------------------------------------

寫代碼位置 | 客戶端 | 客戶端 | 服務器端

------------------------------------------------------------------------------

寫代碼位置 | 客戶端 | 服務器端 | 服務器端

------------------------------------------------------------------------------

編寫代碼技術 |Java,SQL操作 |Java,SQL操作 | 數據庫的程序語言,如PL/SQL

------------------------------------------------------------------------------

可配置性 | 高 |第一次高,以後低 | 低

------------------------------------------------------------------------------

可移植性 | 高 |假設支持PreparedStatement的話高

------------------------------------------------------------------------------

傳輸效率 | 低 |第一次低,以後高 | 高

 
JDBC學習筆記(1)
l. 連接到數據庫的方法 答:1) ODBC(Open Database Connectivity) 一個以C語言爲基礎訪問SQL爲基礎數據庫引擎的接口,它提供了一致的接口用于和數據庫溝通以及訪問數據。 2) JDBC Java版本的ODBC 2. ...查看完整版>>JDBC學習筆記(1)
 
JDBC編程學習筆記1
連接Oracle數據庫的各種oracle JDBC驅動程序的細節。這些細節包括:1、導入JDBC包2、注冊oracle JDBC驅動程序3、打開數據庫連接4、執行SQL DML語句在數據庫表中獲取、添加、修改和刪除行一、JDBC驅動程序 共有有4...查看完整版>>JDBC編程學習筆記1
 
JDBC學習筆記(六)
JDBC學習筆記(六)Thinkersky關于婚姻與愛情,一組5至10歲的美國小孩給出了他們的答案。也許聽起來傻傻的,但是誰能說小娃娃就一定不懂事呢?   1.合適的結婚年齡是多少歲?   84歲吧。那時候什麽也不用做,有...查看完整版>>JDBC學習筆記(六)
 
JDBC學習筆記(二)
JDBC學習筆記(二)Thinkersky 大家好,又過了一天,今天的福州經曆了一場暴風雨的洗禮,甯靜中夾帶著其慣有的雍懶.調試了一天的程序,頭有點暈,放松一下,聽點music,寫點東東.通過昨天的學習,對JDBC在JSP應用中的重要...查看完整版>>JDBC學習筆記(二)
 
JDBC學習筆記(一)
JDBC學習筆記(一)作者:thinkersky[Email:yanghuangming@rongji.com]學習JAVA將近兩個月了,前期接觸的都只是關于表示層和邏輯層方面的知識,自認爲對MVC三層控制模式和struts的相關設計已經有了初步的了解,所以近...查看完整版>>JDBC學習筆記(一)