如何使用 JDBC 處理 SQL 語句並舉例說明?


要處理 SQL 語句,您需要按照以下步驟操作:

  • 建立連線。

  • 建立一個語句。

  • 執行語句/查詢。

  • 處理結果。

  • 關閉連線。

建立連線

要處理 SQL 語句,首先需要與所需的 DBMS、檔案系統或其他資料來源建立連線。

  • 為此,請使用 **registerDriver()** 方法將與 DataSource 對應的 JDBC 驅動程式類註冊到 DriverManager。

Driver myDriver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(myDriver);

此方法接受 Driver 類的物件;它將指定的 Driver 註冊到 DriverManager。

您也可以使用 **forName()** 方法註冊驅動程式。此方法將指定的類載入到記憶體中,並自動註冊。

Class.forName("com.mysql.jdbc.Driver");
  • 註冊驅動程式類後,使用 getConnection() 方法獲取 Connection 物件。

    此方法接受資料庫 URL(指向資料庫的地址)、使用者名稱和密碼,並返回一個連線物件。

String url = "jdbc:mysql:///";
String user = "user_name";
String passwd = "password";
Connection conn = DriverManager.getConnection(url, user_name, password);

建立語句

Statement 介面表示 SQL 語句,JDBC 提供 3 種類型的 Statement

  • **Statement:**一種通用語句,不接受任何引數。

  • **PreparedStatement:**一種預編譯的 SQL 語句,接受輸入引數。

  • **Callable Statement:**用於呼叫儲存過程。

Connection 介面提供名為 createStatement()、prepareStatement() 和 prepareCall() 的方法,分別用於建立 Statement、PreparedStatement 和 CallableStatement。您需要使用相應的方法建立這些語句中的任何一個。

conn.createStatement();
conn.prepareStatement(query);
conn.prepareCall(query);

執行語句

建立語句物件後,需要執行它們。為了執行語句,Statement 介面提供了三種方法,即 execute()、executeUpdate() 和 executeQuery()。

  • **execute():**用於執行 SQL DDL 語句,它返回一個布林值,指定是否可以檢索 ResultSet 物件。

  • **executeUpdate():**用於執行諸如插入、更新、刪除之類的語句。它返回一個整數值,表示受影響的行數。

  • **executeQuery():**用於執行返回表格資料的語句(例如 select)。它返回 ResultSet 類的物件。

使用這些方法之一執行建立的語句。

stmt.execute(query);
stmt.executeQuery(query);
stmt.execute(query);

處理結果

執行語句/查詢後,您將從 **execute()**(布林值)、**executeQuery()**(ResultSet)或 **executeUpdate()**(整數值)方法獲得相應查詢的結果作為返回值。

ResultSet 物件儲存表格值,它有一個指標指向表的行,最初指標/遊標將位於第一行之前。獲得 ResultSet 物件後,需要從中檢索所需的值並進行處理。

您可以使用 **next()** 方法將指標移動到下一行。這將返回一個布林值,指定 **ResultSet** 是否包含下一行。

因此,在 while 迴圈中使用此方法,您可以迭代結果集的內容,並使用 Statement 介面的 getter 方法獲取該行列的內容。

while(rs.next()) {
   System.out.print("Brand: "+rs.getString("Mobile_Brand")+", ");
   System.out.print("Sale: "+rs.getString("Unit_Sale"));
   System.out.println("");
}

更新於:2019年7月30日

5K+ 次瀏覽

開啟您的 職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.