詳解JDBC常用API


我們在開發JDBC程序前,首先要了解一下JDBC常用API,這樣我們使用起來才能得心應手。JDBC的API主要位於java.sql包中,該包定義了一系列訪問數據庫的接口和類,下面我們來具體介紹。

1. Driver接口

Driver接口是所有JDBC驅動程序必須實現的接口,該接口專門提供給數據庫廠商使用。在編寫JDBC程序時,必須要把指定數據庫驅動程序或類庫加載到項目的classpath中。
2. DriverManager類

Driver Manager類用於加載JDBC驅動並且創建與數據庫的連接。在Driver Manager類中,定義了兩個比較重要的靜態方法。

registerDriver(Driver driver)
該方法用於向 DriverManager中注冊給定的JDBC驅動程程序

getConnection(String url,String user,String pwd)
該方法用於建立和數據庫的連接,並返回表示連接的 Connection對象
3、Connection接口

Connection接口代表Java程序和數據庫的連接,在Connection接口中,定義了一系列方法:
getMetaData()
該方法用於返回表示數據庫的元數據的 DatabaseMetaData對象
createStatement()
用於創建一個Statement對象來將SQL語句發送到數據庫
prepareStatement(String sql)
用於創建一個PreparedStatement對象來將參數化的SQL語句發送到數據庫
prepareCall(String sql)
用於創建一個CallableStatement對象來調用數據庫存儲過程

4、Statement接口

Statement接口用於向數據庫發送SQL語句,在Statement接口中,提供了三個執行SQL語句的方法。

execute(String sql)

用於執行各種SQL語句,該方法返回一個boolean類型的值,如果為true,表示所執行的SQL語句具備查詢結果,可通過Statement的getResultSet方法獲得查詢結果。
executeUpdate(String sql)

用於執行SQL中的Insert、update和delete語句。該方法返回一個int類型的值,表示數據庫中受該SQL語句影響的記錄的數目。
executeQuery(String sql)

用於執行SQL中的select語句,該方法返回一個表示查詢結果的ResultSet對象
5. PreparedStatement接口

PreparedStatement是Statement的子接口,用於執行預編譯的SQL語句。在PreparedStatement接口中,提供了一些基本操作的方法。

executeUpdate()

在此PreparedStatement對象中執行SQL語句,該語句必須是個DML語句或者是無返回內容的SQL語句,比如DDL語句。

executeQuery()

在此PreparedStatement對象中執行SQL查詢,該方法返回的ResultSet對象

setInt(int parameterIndex, int x)

將指定參數設置為給定的int值

setFloat(int parameterIndex, float x)

指定參數設置為給定的float值

setString(int parameterIndex, String x)

將指定參數設置為給定的String值

setDate(int parameterIndex, Date x)

將指定參數設置為給定的Date值

addBatch()

將一組參數添加到此PreparedStatement對象的批處理命令中

setCharacterStream(parameterIndex, reader, length)

將指定的輸入流寫入數據庫的文本字段

setBinaryStream(parameterIndex, x, length)

將二進制的輸入流數據寫入到二進制字段中

需要注意的是,上表中的setDate()方法可以設置日期內容,但參數Date的類型是java.sq.Date,而不是java.util.Date。

6、CallableStatement接口

CallableStatement是PreparedStatement的子接口,用於執行SQL存儲過程。在Callablestatement按接口中,提供了一些基本操作的方法,具體下表所示:
registerOutParameter(int parameterIndex,int sqlType)

按順序位置將OUT參數注冊為SQL類型。其中,parameterIndex表示順序位置,sqlType表示SQL類型
setNull(String parameter Name, int sqlType)

將指定參數設置為SQL類型的NULL
setString(String parameterName, String x)

查詢最后一個讀取的OUT參數是否為SQL類型的NULL
wasNull()

查詢最后一個讀取的OUT參數是否為SQL類型的NULL
getlnt(int parameterIndex)

以Java語言中int值的形式獲取指定的數據庫中INTEGER類型參數的值

需要注意的是,由於 CallableStatement接口繼承PreparedStatement,PreparedStatement接口又繼承了 Statement,因此CallableStatement接口中除了擁有自己特有的方法,也同時擁有了這兩個父接口中的方法。

7、ResultSet接口

ResultSet接口表示 select查詢語句得到的結果集,該結果集封裝在一個邏輯表格中。在 ResultSet接口內部有一個指向表格數據行的游標,ResultSet對象初始化時,游標在表格的第一行之前。下面列舉了ResultSet接口中的常用方法。

getString(int columnIndex)

用於獲取指定字段的String類型的值,參數columnIndex代表字段的索引
getString(String columnName)

用於獲取指定字段的String類型的值,參數column Name代表字段的名稱
getInt(int columnIndex)

用於獲取指定字段的int類型的值,參數columnIndex代表字段的索引
getInt(String columnName)

用於獲取指定字段的int類型的值,參數columnName代表字段的名稱
getDate(int columnIndex)

用於獲取指定字段的Date類型的值,參數columnIndex代表字段的索引
getDate(String columnName)

用於獲取指定字段的Date類型的值,參數column Name代表字段的名稱
next()

將游標從當前位置向下移一行
absolute(int row)

將游標移動到此Resultset對象的指定行
afterLast()

將游標移動到此ResultSet對象的末尾,即最后一行之后
beforeFirst()

將游標移動到此Resultset對象的開頭,即第一行之前
previous()
將游標移動到此ResultSet對象的上一行
JDBC常用API中定義了許多的方法,我們想要掌握這些JDBC的API本質上其實還是要學會這些API中的方法的使用。盡管本文中給出了許多的方法,但是對於完全掌握JDBC還是遠遠不夠的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM