JDBC 工作原理
JDBC程序描述為包含如下過程的應(yīng)用:
1. 引入一個(gè)必要的類
2. 加載JDBC驅(qū)動程序
3. 標(biāo)識數(shù)據(jù)源(URL、Username、Password)
4. 分配一個(gè)Connection對象
5. 分配一個(gè)Statement對象
6. 使用該Statement對象執(zhí)行檢查 SQL語句
7. 從返回的ResultSet對象中檢索數(shù)據(jù) 類似于迭代器的操作
8. 關(guān)閉ResultSet對象
9. 關(guān)閉Statement對象
10. 關(guān)閉Connection對象
裝載驅(qū)動程序
通過JDBC來連接關(guān)系數(shù)據(jù)庫,應(yīng)用程序必須采取的第一個(gè)合理步驟是加載合適的JDBC驅(qū)動程序,并獲得一個(gè)與該數(shù)據(jù)庫的連接。使用JDBC的DriverManager類可以實(shí)現(xiàn)。
DriverManager類實(shí)現(xiàn)了java.sql.Driver接口。
加載Driver接口并把它注冊給DriverManager類有兩種方法:
(1) 使用Class.forName()方法
(2) 標(biāo)識jdbc.drivers系統(tǒng)屬性內(nèi)的Driver類
建立連接
實(shí)現(xiàn)Connection接口的一個(gè)類對象(即一個(gè)Connection對象)代表一個(gè)與某個(gè)具體數(shù)據(jù)源的連接。Connection對象實(shí)際上是建立一個(gè)上下文環(huán)境,以便程序員能在它里面創(chuàng)建并執(zhí)行SQl命令。
Connection databaseConnection = DriverManager.getConnection(sourceURL);
語句與結(jié)果集
Statement接口提供了執(zhí)行SQL語句和檢索結(jié)構(gòu)的一種方法。由于Statement是一個(gè)接口,所以程序員不能直接創(chuàng)建一個(gè)Statement對象。通常創(chuàng)建這個(gè)對象的方法是:
Statement statement = connection.createStatement();
當(dāng)建成一個(gè)Statement對象之后,它提供一個(gè)工作空間供用戶創(chuàng)建SQL查詢,執(zhí)行該查詢,以及檢索返回的任何結(jié)果。當(dāng)建成一個(gè)Statement對象之后,就可以通過調(diào)用該Statement對象的下列執(zhí)行方法來執(zhí)行SQL查詢
executeQuery()――用于在單個(gè)ResultSet對象的數(shù)據(jù)庫中檢索出數(shù)據(jù)的SQL語句。
executeUpdate()――執(zhí)行不返回ResultSet對象的查詢。它的返回值是一個(gè)整數(shù)(稱為更新計(jì)數(shù)),它給出受到影響的行數(shù)。
execute()――執(zhí)行返回多個(gè)結(jié)果集,多個(gè)更新計(jì)數(shù)值或這兩者組合的語句