JDBC總結03 幾個重要介面

2021-06-02 08:42:16 字數 2250 閱讀 9821

三、幾個重要介面:

(1) statement —— sql 語句執行介面

statement 介面代表了乙個資料庫的狀態,在向資料庫傳送相應的 sql 語句時,都需要 

建立 statement 介面或者 preparedstatement 介面。在具體應用中,statement 主要用於操作不 

帶引數(可以直接執行)的 sql 語句,比如刪除語句、新增或更新。 

(2) preparedstatement:預編譯的 statement

第一步:通過連線獲得 preparedstatement 物件,用帶佔位符(?)的 sql 語句構造。 

preparedstatement pstm = con.preparedstatement(「select * from test where id=?」); 

第二步:設定引數 

pstm.setstring(1, ganbin」); 

「 第三步:執行 sql 語句 

rs = pstm.excutequery(); 

statement 傳送完整的 sql 語句到資料庫不是直接執行而是由資料庫先編譯,再執行。 

而 preparedstatement 是先傳送帶引數的 sql 語句,再傳送一組引數值。如果是同構的 sql 

語句,preparedstatement 的效率要比 statement 高。而對於異構的 sql 則兩者效率差不多。 

同構:兩個 sql 語句可編譯部分是相同的,只有引數值不同。 

異構:整個 sql 語句的格式是不同的 

注意點:1、使用預編譯的 statement 編譯多條 sql 語句一次執行 

2、可以跨資料庫使用,編寫通用程式 

3、能用預編譯時盡量用預編譯 

(3) resultset —— 結果集操作介面

resultset 介面是查詢結果集介面,它對返回的結果集進行處理。resultset 是程式設計師進行 

jdbc 操作的必需介面。 

(4) resultsetmetadata —— 元資料操作介面

resultsetmetadata 是對元資料進行操作的介面,可以實現很多高階功能。hibernate 執行 

資料庫的操作,大部分都是通過此介面。可以認為,此介面是 sql 查詢語言的一種反射機 

制。resultsetmetadata 介面可以通過陣列的形式,遍歷資料庫的各個欄位的屬性,對於我們 

開發者來說,此機制的意義重大。 

jdbc 通過元資料(metadata)來獲得具體的表的相關資訊,例如,可以查詢資料庫中有哪 

些表,表有哪些字段,以及欄位的屬性等。metadata 中通過一系列 get*** 將這些資訊返 

回給我們。 

資料庫元資料 database metadata            使用 connection.getmetadata()獲得 

metadata 包括:                                          包含了關於資料庫整體元資料資訊。 

結果集元資料 result set metadata          使用 resultset.getmetadata()獲得 

比較重要的是獲得表的列名、                列數等資訊。 

結果集元資料物件:resultsetmetadata meta = rs.getmetadata(); 

字段個數:meta.getcolomncount(); 

欄位名字:meta.getcolumnname(); 

字段 jdbc 型別:meta.getcolumntype(); 

字段資料庫型別:meta.getcolumntypename(); 

資料庫元資料物件:databasemetadata dbmd = con.getmetadata(); 

資料庫名=dbmd.getdatabaseproductname(); 

資料庫版本號=dbmd.getdatabaseproductversion()     ; 

資料庫驅動名=dbmd.getdrivername()       ; 

資料庫驅動版本號=dbmd.getdriverversion()        ; 

資料庫 url=dbmd.geturl()    ; 

該連線的登陸名=dbmd.getusername()         ; 

幾個重要介面

1 statement sql語句執行介面 statement介面代表了乙個資料庫的狀態,在向資料庫傳送相應的sql語句時,都需要建立statement 介面或者preparedstatement介面。在具體應用中,statement主要用於操作不帶引數 可以直接執行 的 sql語句,比如刪除語句 ...

Kafka 幾個重要的配置總結

注意 配置基於kafka 0.8.2.1 broker配置 非負整數,用於唯一標識broker broker.id 0 kafka持久化資料儲存的路徑,可以指定多個,以逗號分隔 log.dirs tmp kafka logs broker接收連線請求的埠 port 9092 指定zk連線字串,hos...

hibernate的幾個重要的類和介面

該類的物件會自動載入hibernate.cfg.xml檔案,同時也可以定義自己的配置檔案 由於sessionfactory是重量級的,也就是說建立sessionfactory需要消耗大量的資源,所以在整個應用程式中最好只存在乙個sessionfactory,這就需要把獲取sessionfactory...