天天看點

Java學習筆記(JDBC資料庫程式設計常用接口)

path配置

通常問題有兩方面,一方面是路徑不對,另一方面是路徑前後标點符号不對(英文半角):

classpath   .;%java_home%\lib;                 (注意:前面點号,分号,後面分号)

java_home   c:\program files\java\jdk1.6.0_17   (注意:前後均無符号)

path        %java_home%\bin;              (注意:寫在原來變量值的最前面  前無符号,後為分号)

jdbc的全稱是java database connectivity,是一套面向對象的應用程式接口(api),制定了統一的通路各種關系資料庫的标準接口,為各個資料庫廠商提供了标準接口的實作。這東西能夠實作軟體的擴平台性。

jdbc是一種底層api,在通路資料庫是需要在業務邏輯中直接嵌入sql語句。

jdbc不能夠直接通路資料庫,必須依賴資料庫廠商提供的jdbc驅動程式完成以下三步工作1.同資料庫建立連接配接;2.向資料庫發送sql語句;3.處理從資料庫傳回的結果。

*jdbc驅動

1.jdbc-odbc橋連是指通過本地的obdc driver連接配接到rdbms上。

2.jdbc-native橋連通過調用本地的native程式實作資料庫連接配接,這種類型的驅動程式把客戶機api上的jdbc調用轉為oracle,sybase,informix,db2或者其它dbms的調用。

3.jdbc網絡驅動是一種完全利用java語言編寫的jdbc驅動。

4.本地協定驅動是一種完全利用java語言編寫的jdbc驅動,這種類型的驅動程式将jdbc調用直接轉換為dbms所使用的網絡協定。

#jdbc中常用接口

-driver接口

每種資料庫的驅動程式都應該提供一個實作java.sql.driver接口的類,簡稱driver類。

加載jdbc-odbc驅動:

class.forname("sun.jdbc.odbc.jdbcodbcdriver");

-drivermanager類

java.sql.drivermanager類負責管理jdbc驅動程式的基本服務,是jdbc的管理層,作用于使用者和驅動程式之間,負責跟蹤可用的驅動程式,并在資料和驅動程式之間建立連接配接。

(靜态方法)getconnection(string url,string user,string password)用來建立資料庫連接配接。

setlogintimeout(int seconds)用來設定每次連接配接資料庫的最長時間

println(string message)用來輸出指定消息到目前的jdbc日記流

-connection接口

java.sql.connection接口代表與特定資料庫的連接配接,在接連的上下文中可以執行sql語句并傳回結果,還可以通過getmetadata()方法獲得由資料庫提供的相關資訊。

createstatement()建立并傳回一個statement 執行個體,通常在執行無參數的sql語句是建立執行個體。

-statement接口

java.sql.statement接口用來執行靜态sql語句,并傳回執行結果。

對于insert,ipdate和delete語句,調用executeupdate(string sql)方法;對于select語句,則調用executequery(string sql)方法,并傳回一個永遠不能為null的resultset執行個體。

-preparedstatement接口

java.sql.preparedstatement接口繼承并擴充了statement接口,用來執行動态的sql語句,即包含參數的sql語句。

通過setxxx()方法為sql語句中的參數指派時,建議利用與參數類型比對的方法,也可以利用setobject()為各種類型指派。

preparedstetement ps=connection.preparedstatement("select * from table_name where id>? and (name=? or name=?)");

ps.setint(1,6);

ps.setstring(2,"馬先生");

ps.setobject(3,"李先生");

resultset rs=ps.executequery();

clearparameters()清除目前參數的值。

-callablestatement接口

java.sql.callablestatement接口繼承并擴充preparedstatement接口,用來執行sql的存儲過程。

-resultset接口

java.sql.resultset接口類似于一個資料表,通過該接口的執行個體可以獲得檢索結果集,以及對應資料表的相關資訊,resultset執行個體通過執行查詢資料庫的語句生成。

next()方法可以将指針移動到下一行,傳回bool類型。隻能疊代一次!

getxxx()方法均有兩個重載方法,分别根據列的索引号和列的名稱檢索列值。

first(),傳回bool值

last(),傳回bool值

previous()将指針移動到上一行,傳回bool值

beforefirst()

afterlast()

absolute()移動到指定行,int>0向下移動,int<0,向後移動

relative()相對目前位置移動到指定行,int>0向下移動,int<0,向後移動

getrow()目前行索引編号

findcolumn()檢視指定列名的索引編号

isbeforefirst()檢視指針是否處于執行個體開頭,傳回bool

isfirst()檢視指針是否處于第一行,傳回bool

deleterow()删除目前行,執行該方法後,在執行close()之後才會同步到資料庫