更新時間:2021-02-23 17:27:28 來源:動力節(jié)點(diǎn) 瀏覽1518次
我們在開發(fā)JDBC程序前,首先要了解一下JDBC常用API,這樣我們使用起來才能得心應(yīng)手。JDBC的API主要位于java.sql包中,該包定義了一系列訪問數(shù)據(jù)庫的接口和類,下面我們來具體介紹。
1. Driver接口
Driver接口是所有JDBC驅(qū)動程序必須實現(xiàn)的接口,該接口專門提供給數(shù)據(jù)庫廠商使用。在編寫JDBC程序時,必須要把指定數(shù)據(jù)庫驅(qū)動程序或類庫加載到項目的classpath中。
2. DriverManager類
Driver Manager類用于加載JDBC驅(qū)動并且創(chuàng)建與數(shù)據(jù)庫的連接。在Driver Manager類中,定義了兩個比較重要的靜態(tài)方法。
registerDriver(Driver driver)
該方法用于向 DriverManager中注冊給定的JDBC驅(qū)動程程序
getConnection(String url,String user,String pwd)
該方法用于建立和數(shù)據(jù)庫的連接,并返回表示連接的 Connection對象
3、Connection接口
Connection接口代表Java程序和數(shù)據(jù)庫的連接,在Connection接口中,定義了一系列方法:
getMetaData()
該方法用于返回表示數(shù)據(jù)庫的元數(shù)據(jù)的 DatabaseMetaData對象
createStatement()
用于創(chuàng)建一個Statement對象來將SQL語句發(fā)送到數(shù)據(jù)庫
prepareStatement(String sql)
用于創(chuàng)建一個PreparedStatement對象來將參數(shù)化的SQL語句發(fā)送到數(shù)據(jù)庫
prepareCall(String sql)
用于創(chuàng)建一個CallableStatement對象來調(diào)用數(shù)據(jù)庫存儲過程
4、Statement接口
Statement接口用于向數(shù)據(jù)庫發(fā)送SQL語句,在Statement接口中,提供了三個執(zhí)行SQL語句的方法。
execute(String sql)
用于執(zhí)行各種SQL語句,該方法返回一個boolean類型的值,如果為true,表示所執(zhí)行的SQL語句具備查詢結(jié)果,可通過Statement的getResultSet方法獲得查詢結(jié)果。
executeUpdate(String sql)
用于執(zhí)行SQL中的Insert、update和delete語句。該方法返回一個int類型的值,表示數(shù)據(jù)庫中受該SQL語句影響的記錄的數(shù)目。
executeQuery(String sql)
用于執(zhí)行SQL中的select語句,該方法返回一個表示查詢結(jié)果的ResultSet對象
5. PreparedStatement接口
PreparedStatement是Statement的子接口,用于執(zhí)行預(yù)編譯的SQL語句。在PreparedStatement接口中,提供了一些基本操作的方法。
executeUpdate()
在此PreparedStatement對象中執(zhí)行SQL語句,該語句必須是個DML語句或者是無返回內(nèi)容的SQL語句,比如DDL語句。
executeQuery()
在此PreparedStatement對象中執(zhí)行SQL查詢,該方法返回的ResultSet對象
setInt(int parameterIndex, int x)
將指定參數(shù)設(shè)置為給定的int值
setFloat(int parameterIndex, float x)
指定參數(shù)設(shè)置為給定的float值
setString(int parameterIndex, String x)
將指定參數(shù)設(shè)置為給定的String值
setDate(int parameterIndex, Date x)
將指定參數(shù)設(shè)置為給定的Date值
addBatch()
將一組參數(shù)添加到此PreparedStatement對象的批處理命令中
setCharacterStream(parameterIndex, reader, length)
將指定的輸入流寫入數(shù)據(jù)庫的文本字段
setBinaryStream(parameterIndex, x, length)
將二進(jìn)制的輸入流數(shù)據(jù)寫入到二進(jìn)制字段中
需要注意的是,上表中的setDate()方法可以設(shè)置日期內(nèi)容,但參數(shù)Date的類型是java.sq.Date,而不是java.util.Date。
6、CallableStatement接口
CallableStatement是PreparedStatement的子接口,用于執(zhí)行SQL存儲過程。在Callablestatement按接口中,提供了一些基本操作的方法,具體下表所示:
registerOutParameter(int parameterIndex,int sqlType)
按順序位置將OUT參數(shù)注冊為SQL類型。其中,parameterIndex表示順序位置,sqlType表示SQL類型
setNull(String parameter Name, int sqlType)
將指定參數(shù)設(shè)置為SQL類型的NULL
setString(String parameterName, String x)
查詢最后一個讀取的OUT參數(shù)是否為SQL類型的NULL
wasNull()
查詢最后一個讀取的OUT參數(shù)是否為SQL類型的NULL
getlnt(int parameterIndex)
以Java語言中int值的形式獲取指定的數(shù)據(jù)庫中INTEGER類型參數(shù)的值
需要注意的是,由于 CallableStatement接口繼承PreparedStatement,PreparedStatement接口又繼承了 Statement,因此CallableStatement接口中除了擁有自己特有的方法,也同時擁有了這兩個父接口中的方法。
7、ResultSet接口
ResultSet接口表示 select查詢語句得到的結(jié)果集,該結(jié)果集封裝在一個邏輯表格中。在 ResultSet接口內(nèi)部有一個指向表格數(shù)據(jù)行的游標(biāo),ResultSet對象初始化時,游標(biāo)在表格的第一行之前。下面列舉了ResultSet接口中的常用方法。
getString(int columnIndex)
用于獲取指定字段的String類型的值,參數(shù)columnIndex代表字段的索引
getString(String columnName)
用于獲取指定字段的String類型的值,參數(shù)column Name代表字段的名稱
getInt(int columnIndex)
用于獲取指定字段的int類型的值,參數(shù)columnIndex代表字段的索引
getInt(String columnName)
用于獲取指定字段的int類型的值,參數(shù)columnName代表字段的名稱
getDate(int columnIndex)
用于獲取指定字段的Date類型的值,參數(shù)columnIndex代表字段的索引
getDate(String columnName)
用于獲取指定字段的Date類型的值,參數(shù)column Name代表字段的名稱
next()
將游標(biāo)從當(dāng)前位置向下移一行
absolute(int row)
將游標(biāo)移動到此Resultset對象的指定行
afterLast()
將游標(biāo)移動到此ResultSet對象的末尾,即最后一行之后
beforeFirst()
將游標(biāo)移動到此Resultset對象的開頭,即第一行之前
previous()
將游標(biāo)移動到此ResultSet對象的上一行
JDBC常用API中定義了許多的方法,我們想要掌握這些JDBC的API本質(zhì)上其實還是要學(xué)會這些API中的方法的使用。盡管本文中給出了許多的方法,但是對于完全掌握J(rèn)DBC還是遠(yuǎn)遠(yuǎn)不夠的,在本站的JDBC教程中還有更全面的JDBC的API的介紹,可以更細(xì)致的學(xué)習(xí)相關(guān)的課程。
初級 202925
初級 203221
初級 202629
初級 203743