更新時間:2021-02-23 17:27:28 來源:動力節點 瀏覽1509次
我們在開發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還是遠遠不夠的,在本站的JDBC教程中還有更全面的JDBC的API的介紹,可以更細致的學習相關的課程。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習