1. 程式人生 > >JDBC的常用類和介面

JDBC的常用類和介面

資料庫操作六步驟
1匯入jar包,2註冊驅動,3獲取連線,4獲取語句執行平臺並執行SQL語句,
5處理結果,6釋放連線

Connection介面

Connection介面代表與特定的資料庫的連線
createStatement() 建立Statement物件
createStatement(int resultType, int resultSetConcurrency)
建立一個Statement物件,該物件將生成具有給定的型別、併發性和可儲存性的ResultSet物件
preparedStatement() 建立預處理物件preparedStatement
isReadOnly() 檢視當前Connection物件的讀取模式是否為只讀形式
setReadOnly() 設定當前Connection物件的讀寫模式,預設是非只讀模式
commit() 使所有上一次提交/回滾後進行的更改成為持久更改,並釋放此Connection物件當前持有的所有資料庫鎖
roolback() 取消在當前事物中進行的所有更改,並釋放此Connection物件當前持有的所有資料庫鎖
close() 立即釋放此Connection物件的資料庫和JDBC資源,而不是等待他們被自動放棄

Statement介面

Statement介面用於建立向資料庫中傳遞SQL語句的物件。Statement物件用於執行不帶引數的簡單的SQL語句;PreparedStatement繼承了Statement,用來執行動態的SQL語句;
CallableStatement繼承了PreparedStatement,用於執行對資料庫的儲存過程的呼叫。
execute(String sql) 執行靜態的select語句,該語句可能返回多個結果
executeQurey(String sql) 執行給定的SQL語句,該語句返回單個ResultSet物件
clearBatch() 清空此Statement物件的當前SQL命令列表
executeBatch() 將一批命令提交給資料路來執行,若全部命令執行成功,則返回更新計陣列成的陣列。陣列元素的排序與SQL語句的新增順序對應
addBatch(String sql) 將給定的SQL命令新增到此Statement物件的當前命令列表中。如果驅動程式不支援批量處理,將丟擲異常
close() 釋放Statement例項佔用的資料庫和JDBC資源

PreparedStatement介面

PreparedStatement介面繼承Statement,用於執行動態的SQL語句,通過PreparedStatement例項執行的SQL語句,將被預編譯並儲存到PreparedStatement例項中。從而可以反覆地執行該SQL語句。
setInt(int index, int k) 將指定的引數設定為int值
setFloat(int index, Float k) 將指定的引數設定為Float值
setLong(int index, Long k) 將指定的引數設定為Long值
setDouble(int index, Double k) 將指定的引數設定為Double值
setBollean(int index, Bollean k) 將指定的引數設定為Bollean值
setDate(int index, Date k) 將指定的引數設定為Date值
setString(int index, String k) 將指定的引數設定為String值
setNull(int index, intsqlType) 將指定的引數設定為SQL Null
executeQuery() 在此PreparedStatement物件中執行SQL查詢,並返回該查詢生成的ResultSet物件
executeUpdate() 執行前面包含的引數的動態instal、updae或delete
clearParameters() 清除當前所有引數的值

DriverManager類

DriverManager類用來管理資料庫中的所有驅動程式。是JDBC的管理層,作用於使用者和驅動程式之間,跟蹤可用的驅動程式,並在資料庫的驅動程式之間建立連線。此外,DriverManager類也處理諸如驅動程式登入時間限制及登入和跟蹤資訊的顯示等事務。DriverManager類中的方法都是靜態方法,所以在程式中無須對它進行例項化,直接通過類名就可以呼叫。
getConnection(String url, String user, String password)
setLoginTimeout() 獲取驅動程試圖登入到某一資料庫時可以等待的最長時間,以秒為單位
println(String message) 將一條訊息列印到當前JDBC日誌流中

ResultSet介面

ResultSet介面類似於一個臨時表,用來暫時存放資料庫查詢操作所獲得的結果集。
getInt() 以int形式獲取此ResultSet物件的當前行的指定列值。
getFloat() 以float形式獲取此ResultSet物件的當前行的指定列值。
getDate() 以date形式獲取此ResultSet物件的當前行的指定列值。
getBollean() 以bollean形式獲取此ResultSet物件的當前行的指定列值。
getString() 以string形式獲取此ResultSet物件的當前行的指定列值。
getObject() 以object形式獲取此ResultSet物件的當前行的指定列值。
first() 將指標移到當前記錄的第一行
last() 將指標移到當前記錄的最後一行
next() 將指標向下移一行
beforeFist() 將指標移到集合的開頭(第一行位置)
afterLast() 將指標移到集合的尾部(最後一行位置)
absolute(int index) 將指標移到ResultSet給定編號的行
isFist() 判斷指標是否位於當前ResultSet集合的第一行,若是返回true,否返回false
isLast() 判斷指標是否位於當前ResultSet集合的最後一行,若是返回true,否返回false
updateInt() 用int值更新指定列
updateFloat () 用Float值更新指定列
updateLong () 用Long值更新指定列
updateString () 用String值更新指定列
updateObject () 用Object值更新指定列
updateNull () 將指定的列值修改為Null
updateDate () 用Date值更新指定列
updateDouble() 用Double值更新指定列
getrow() 檢視當前行的索引
insertRow() 將插入行的內容插入到資料庫
updateRow() 將當前行的內容同步到資料庫
deleteRow() 刪除當前行,但並不同步到資料庫中,而是在執行close()方法後同步到資料庫