【4】進大廠必須掌握的面試題-Java面試-jdbc
阿新 • • 發佈:2020-10-12
### **1.什麼是JDBC驅動程式?**
JDBC驅動程式是使Java應用程式與資料庫進行互動的軟體元件。JDBC驅動程式有4種類型:
1. JDBC-ODBC橋驅動程式
2. 本機API驅動程式(部分為Java驅動程式)
3. 網路協議驅動程式(完全Java驅動程式)
4. 驅動程式(完全Java驅動程式)
### **2.用Java連線資料庫的步驟是什麼?**
- 註冊驅動程式類
- 建立連線
- 建立宣告
- 執行查詢
- 關閉連線
### **3. JDBC API元件是什麼?**
java.sql軟體包包含JDBC API的介面和類。
#### **介面:**
- 連線
- 宣告
- 準備宣告
- 結果集
- ResultSetMetaData
- 資料庫元資料
- CallableStatement等
#### **類:**
- DriverManager
- Blob
- Clob
- Types
- SQLException等
### **4. JDBC DriverManager類的作用是什麼?**
在DriverManager的*班級*管理註冊的驅動程式。它可以用於註冊和登出驅動程式。它提供了返回Connection例項的工廠方法。
### **5.什麼是JDBC連線介面?**
該連線介面保持與資料庫的會話。它可以用於事務管理。它提供了工廠方法,該方法返回Statement,PreparedStatement,CallableStatement和DatabaseMetaData的例項。
## **![ConnectionInterface-Java面試問題-Edureka](https://img2020.cnblogs.com/other/2169955/202010/2169955-20201012204721832-2057527235.png)**
### **6. JDBC ResultSet介面的目的是什麼?**
ResultSet物件代表表的一行。它可用於更改游標指標並從資料庫中獲取資訊。
### **7.什麼是JDBC ResultSetMetaData介面?**
ResultSetMetaData介面返回表的資訊,例如列總數,列名稱,列型別等。
### **8.什麼是JDBC DatabaseMetaData介面?**
DatabaseMetaData介面返回資料庫的資訊,例如使用者名稱,驅動程式名稱,驅動程式版本,表數,檢視數等。
### **9. JDBC中的批處理是什麼意思?**
批處理可幫助您將相關的SQL語句分組為一個批處理並執行它們,而不是執行單個查詢。通過在JDBC中使用批處理技術,您可以執行多個查詢,從而提高效能。
### **10. execute,executeQuery,executeUpdate有什麼區別?**
語句***execute(String query)\***用於執行任何SQL查詢,如果結果為ResultSet(例如執行Select查詢),則返回TRUE。如果沒有諸如執行插入或更新查詢之類的ResultSet物件,則輸出為FALSE。我們可以使用*getResultSet()*獲取ResultSet和*getUpdateCount()*方法來獲取更新計數。
語句***executeQuery(String query)\***用於執行Select查詢並返回ResultSet。即使沒有與查詢匹配的記錄,返回的ResultSet也永遠不會為null。在執行選擇查詢時,我們應該使用executeQuery方法,這樣,如果有人嘗試執行插入/更新語句,它將丟擲java.sql.SQLException,並顯示訊息“ executeQuery方法不能用於更新”。
語句**executeUpdate(String query**)用於執行不返回任何內容的插入/更新/刪除(DML)語句或DDL語句。輸出為int,等於SQL資料操作語言(DML)語句的行數。對於DDL語句,輸出為0。
僅在不確定語句型別時,才應使用execute()方法,否則應使用executeQuery或executeUpdate方法。
### **Q11。您對JDBC語句瞭解什麼?**
JDBC語句基本上是用於將SQL命令傳送到資料庫並從資料庫取回資料的語句。JDBC提供了諸如execute(),executeUpdate(),executeQuery等各種方法來與資料庫進行互動。
JDBC支援3種類型的語句:
1. *語句:*用於對資料庫的常規訪問,並在執行時執行靜態SQL查詢。
2. *PreparedStatement:*用於在執行期間向查詢提供輸入引數。
3. *CallableStatement:*用於訪問資料庫儲存過程,並有助於接受執行時引數。
> 歡迎關注 [Java架構師社群](http://javajgs.com/)公眾號.
> 本文轉載自[Java架構師必看](http://javajgs.com/archives/5504) ,更多內容點選