JDBC的概念
JDBC是一套API集合,該集合設(shè)置了許多允許Java程序連接數(shù)據(jù)庫的框架。JDBC操作在某些方面看起來和ODBC一樣。區(qū)別是ODBC不能在Java程序中直接實現(xiàn),原因是ODBC是用C語言寫的。然而JDBC提供了JDBC/ODBC之間的橋梁。JDBC是圍繞著X/Open Call Level Interface(CLI)設(shè)計的,一個CLI意味著可直接用SQL查詢數(shù)據(jù)庫并得到一行結(jié)果。
JDBC提供的連接數(shù)據(jù)庫的幾種方法
1)與數(shù)據(jù)源直接通信:使用JDBC和數(shù)據(jù)庫已制定的協(xié)議時,可使用一個驅(qū)動程序直接與數(shù)據(jù)源通信。既可以建立自己的驅(qū)動程序,也可找一個公用的。
2)通過JDBC驅(qū)動程序的通信:可連接到一個高標(biāo)準(zhǔn)的驅(qū)動程序上,該驅(qū)動程序依次與另一個可與數(shù)據(jù)源通信的專用驅(qū)動程序通信。
3)與ODBC數(shù)據(jù)源通信:一個公開可用的專用驅(qū)動程序是JDBC/ODBC橋梁驅(qū)動程序,它是Javasoft公司開發(fā)的,允許應(yīng)用程序與ODBC數(shù)據(jù)源相連。
JDBC的基本功能和特點
1)JDBC的基本功能包括:a建立與數(shù)據(jù)庫的連接;b發(fā)送SQL語句;c處理結(jié)果。
2)JDBC是低級的API,是高級API的基礎(chǔ):JDBC是一種低級的接口,它直接調(diào)用SQL命令,但又可以作為構(gòu)造高級接口和工具的基礎(chǔ)。在執(zhí)行時,高級API將首先被翻譯成如JDBC這樣的低級接口。
3)JDBC與ODBC及其他API的比較:
、貸ava不能直接使用ODBC,因為ODBC使用C語言接口,如果讓Java來調(diào)用本機C代碼,將會在安全,屬性,健壯性,應(yīng)用的可移植性等方面帶來困難。
②不希望把ODBC API逐字翻譯成Java API,例如ODBC使用了大量易于出錯的指針,而Java取消了這種不安全的指針。
③ODBC難以學(xué)習(xí),它把簡單功能和高級功能混雜在一起,即便是簡單的查詢也會帶來復(fù)雜的任選項。而JDBC的設(shè)計使得簡單的事情用簡單的做法,僅在必要時才讓用戶使用高級功能。
、躂DBC的Java API提供純Java的解決方法,當(dāng)使用ODBC時,ODBC驅(qū)動器管理程序與驅(qū)動器必須手工裝入到每臺客戶機上。而JDBC驅(qū)動器全是用Java編寫的,JDBC代碼可在所有Java平臺上自動安裝,并且是可移植的和安全的。
JDBC中Statement對象的作用
來自java api用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象。
在默認(rèn)情況下,同一時間每個 Statement 對象在只能打開一個 ResultSet 對象。因此,如果讀取一個 ResultSet 對象與讀取另一個交叉,則這兩個對象必須是由不同的 Statement 對象生成的。如果存在某個語句的打開的當(dāng)前 ResultSet 對象,則 Statement 接口中的所有執(zhí)行方法都會隱式關(guān)閉它 來自java api用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象。
在默認(rèn)情況下,同一時間每個 Statement 對象在只能打開一個 ResultSet 對象。因此,如果讀取一個 ResultSet 對象與讀取另一個交叉,則這兩個對象必須是由不同的 Statement 對象生成的。如果存在某個語句的打開的當(dāng)前 ResultSet 對象,則 Statement 接口中的所有執(zhí)行方法都會隱式關(guān)閉它。
>>>點擊查看更多 互聯(lián)網(wǎng)數(shù)據(jù)庫常考知識點
相關(guān)推薦: