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