找到 316 篇文章 關於 JDBC

JDBC PreparedStatement 的優點和缺點是什麼?

Krantik Chavan
更新於 2019-07-30 22:30:25

2K+ 瀏覽量

以下是預處理語句的優點:透過避免多次編譯和執行語句,預處理語句執行速度更快。使用預處理語句,我們可以藉助 PreparedStatement 介面提供的 setter 方法輕鬆地將值插入到高階資料型別(如 BLOB、CLOB、OBJECT)中。透過提供 setter 方法來設定值,預處理語句避免了在查詢中使用引號和其他特殊字元,從而避免了 SQL 注入攻擊以下是預處理語句的限制:由於 PreparedStatement 物件一次只能表示一個 SQL 語句,因此我們只能用一個... 閱讀更多

為什麼 JDBC 中的預處理語句比語句快?解釋一下?

Krantik Chavan
更新於 2019-07-30 22:30:25

534 瀏覽量

使用 Statement 物件執行語句時,特別是插入語句,每次執行查詢時,整個語句都會被編譯和執行,而這些語句之間唯一的區別是語句的值。而預處理語句是預編譯語句,即查詢被編譯並存儲在資料庫中,使用佔位符(?)代替值,稍後為這些佔位符提供值。因此,避免了不必要地反覆編譯和執行語句。示例假設我們在資料庫中有一個名為 Dataset 的表,其中包含 mobile_brand 和 unit_sale 列,如果我們想... 閱讀更多

關閉 JDBC 連線是否強制要求?

Krantik Chavan
更新於 2019-07-30 22:30:25

3K+ 瀏覽量

在 JDBC 程式結束時,需要顯式關閉所有與資料庫的連線以結束每個資料庫會話。但是,如果您忘記了,Java 的垃圾回收器將在清理陳舊物件時關閉連線。依賴垃圾回收,尤其是在資料庫程式設計中,是一種非常糟糕的程式設計實踐。您應該養成始終使用與連線物件關聯的 close() 方法關閉連線的習慣。為了確保連線已關閉,您可以在程式碼中提供一個“finally”塊。“finally”塊始終執行,無論是否發生異常。要... 閱讀更多

如何在 JDBC 中使用 CallableStatement 呼叫儲存過程?

Krantik Chavan
更新於 2020-03-09 06:37:08

4K+ 瀏覽量

您可以使用 CallableStatement 介面呼叫 SQL 儲存過程。Callable 語句可以具有輸入引數、輸出引數或兩者兼而有之。您可以使用 Connection 介面的 prepareCall() 方法建立 CallableStatement(介面)的物件。此方法接受一個表示呼叫儲存過程的查詢的字串變數,並返回一個 CallableStatement 物件。假設您在資料庫中有一個名為 myProcedure 的過程,您可以準備一個可呼叫的語句,如下所示://準備 CallableStatement CallableStatement cstmt = con.prepareCall("{call myProcedure(?, ?, ?)}");然後,您可以使用 CallableStatement 介面的 setter 方法將值設定為佔位符並執行... 閱讀更多

在所有 4 種 JDBC 驅動程式型別中,何時使用哪種驅動程式?

Nancy Den
更新於 2019-07-30 22:30:25

133 瀏覽量

如果您正在訪問一種型別的資料庫,例如 Oracle、Sybase 或 IBM,則首選驅動程式型別為 4。如果您的 Java 應用程式同時訪問多種型別的資料庫,則型別 3 是首選驅動程式。在型別 3 或型別 4 驅動程式尚未可用於您的資料庫的情況下,型別 2 驅動程式很有用。型別 1 驅動程式不被視為部署級驅動程式,通常僅用於開發和測試目的。

JDBC 中的 execute()、executeQuery() 和 executeUpdate() 方法有什麼區別?

Nancy Den
更新於 2019-07-30 22:30:25

19K+ 瀏覽量

建立語句物件後,您可以使用 Statement 介面的 execute 方法之一來執行它,即 execute()、executeUpdate() 和 executeQuery()。execute() 方法:此方法用於執行 SQL DDL 語句,它返回一個布林值,指定是否可以檢索 ResultSet 物件。示例import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class Example {    public static void main(String args[]) throws SQLException {       //註冊驅動程式       DriverManager.registerDriver(new com.mysql.jdbc.Driver());       //獲取連線       String mysqlUrl = "jdbc:mysql:///sampleDB";       Connection con = ... 閱讀更多

JDBC 中的儲存過程是什麼?

Nancy Den
更新於 2019-07-30 22:30:25

292 瀏覽量

儲存過程是子例程,儲存在 SQL 目錄中的 SQL 語句段。所有可以訪問關係資料庫(Java、Python、PHP 等)的應用程式都可以訪問儲存過程。儲存過程包含 IN 和 OUT 引數或兩者兼而有之。如果使用 SELECT 語句,它們可能會返回結果集。儲存過程可以返回多個結果集。建立儲存過程假設我們在 MySQL 資料庫中建立了一個名為 Employee 的表,如下所示:String createTable = "CREATE TABLE Employee("    + "Name VARCHAR(255), "    + "Salary INT NOT NULL, "    + "Location VARCHAR(255))";以下是一個 MySQL 的示例... 閱讀更多

JDBC 中的 CallableStatement 是什麼?

Nancy Den
更新於 2019-07-30 22:30:25

7K+ 瀏覽量

CallableStatement 介面提供執行儲存過程的方法。由於 JDBC API 提供了儲存過程 SQL 轉義語法,因此您可以以單一標準方式呼叫所有 RDBMS 的儲存過程。建立 CallableStatement您可以使用 Connection 介面的 prepareCall() 方法建立 CallableStatement(介面)的物件。此方法接受一個表示呼叫儲存過程的查詢的字串變數,並返回一個 CallableStatement 物件。Callable 語句可以具有輸入引數、輸出引數或兩者兼而有之。要將輸入引數傳遞給過程呼叫,您可以使用佔位符並將值設定為這些... 閱讀更多

JDBC 中的 PreparedStatement 是什麼?

Nancy Den
更新於 2019-07-30 22:30:25

11K+ 瀏覽量

PreparedStatement 介面擴充套件了 Statement 介面,它表示一個可以執行多次的預編譯 SQL 語句。它接受引數化的 SQL 查詢,並且您可以向此查詢傳遞 0 個或多個引數。最初,此語句使用佔位符“?”代替引數,稍後您可以使用 PreparedStatement 介面的 setXXX() 方法動態地向這些佔位符傳遞引數。建立 PreparedStatement您可以使用 Connection 介面的 prepareStatement() 方法建立 PreparedStatement(介面)的物件。此方法接受一個查詢(引數化的)並返回一個 PreparedStatement 物件。當您呼叫此方法時,Connection 物件會發送給定的... 閱讀更多

什麼是 JDBC 中的 Statement?

Nancy Den
更新於 2019-07-30 22:30:25

726 次瀏覽

Statement 介面表示靜態 SQL 語句,它用於使用 Java 程式建立和執行通用 SQL 語句。建立語句您可以使用 connection 介面的 createStatement() 方法建立此介面的物件。如下所示呼叫此方法建立語句。Statement stmt = null; try {    stmt = conn.createStatement( );    . . . } catch (SQLException e) {    . . . } finally {    . . . }執行 Statement 物件建立 Statement 物件後,您可以使用其中一個 execute 方法執行它,例如,... 閱讀更多

廣告

© . All rights reserved.