跳到內容

如何使用JDBC創建數據庫

jdbc-words學習JDBC並創建一個“ Hello World” JDBC數據庫應用程序。該JDBC教程可用於任何具有JDBC驅動程序的產品,包括MySQL,Oracle和 Raima的RDM.

在你開始之前

在開始之前,應確保您了解/掌握一些內容。請看下面的內容:

  • 在Windows或Linux中啟動命令提示符。
  • JDK 1.6 或更高版本已安裝並可以使用。
  • 確定係統上的JDK是32位還是64位。為此,請在命令提示符下運行“ java-version”。如果是64位,則將在輸出中說明。否則,它是32位。
  • 文本編輯器。
  • 產品(例如)中包含的JDBC數據庫驅動程序 的MySQL, PostgreSQL的 或者 RDM.

創建應用程序的步驟

可以在以下位置找到使用Raima的JDBC驅動程序和RDM數據庫管理系統的預打包示例。 演示 部分。選擇與您的操作系統和JDK(32或64位)匹配的“ Hello World” Windows或Linux軟件包。您可以在完成本教程後選擇其他示例,因為它們通過JDBC顯示了越來越複雜的數據庫用法。

將軟件包安裝到新的本地目錄中。作為參考,我們將此目錄稱為“ / HelloWorld_JDBC”。可以看到HelloWorldJDBC.java的完整源代碼。 這裡.

步驟1 打開命令行提示符

轉到安裝樣本文件的目錄。

步驟2檢視 您的.java文件

使用您的文本編輯器,查看文件“ HelloWorldJDBC.java”。或者,使用我們的 在線副本.

步驟3檢視 您的樣品課

您的類必須包含與包含該類的.java文件相同的名稱。它應顯示如下:

public class HelloWorldJDBC {

}

這堂課是 上市 類,因為它具有可以在此類範圍之外進行訪問的能力。在此示例中,所有操作均在此類中完成。

步驟4檢查 主要方法

主要方法是程序的入口點。對於這個簡單的示例,我們僅使用一個.java文件。因此,該類將包含main方法,如下所示。在此示例中,我們將拋出最外層 SQLException (與Connection對像有關的異常)以簡化操作。
public static void main(String[] args) throws SQLException {

}

第5步 創建並初始化您的連接對象

您將初始化您的 聯繫 對象,然後才能訪問它包含的任何方法。您將通過從中調用方法來檢索連接對象。 驅動程序管理器 類稱為 getConnection()。該方法的返回值是您的Connection對象。

優良作法是開始新的 嘗試 對您初始化的每個對像都進行阻止。完成對象處理後,只需添加一個 最後 執行相應的塊 關閉() 方法,最外面的塊將包含您的 抓住 阻止處理所有可能的 SQLExceptions。使用完整的代碼將更容易看到這一點。

*筆記: URL將根據您使用的驅動程序而變化,在這種情況下,將使用RDM JDBC驅動程序。
Connection Conn = DriverManager.getConnection(“jdbc:raima:rdm://local”);
try {

}
} catch (SQLException exception) {

} finally {
Conn.close();
}

第6步 創建語句對象

新創建的 聯繫 目的 康恩 有一個方法叫做 createStatement() 那將返回一個 陳述 目的。然後,您將與此連接用於數據庫。
Statement Stmt = Conn.createStatement();
try {

} finally {
Stmt.close();
}

步驟7 執行語句以創建或打開數據庫

使用 陳述 目的 斯特姆 您剛創建的代碼,可以根據要執行的語句類型執行幾種不同的方法。例如,如果您想執行一條SQL語句,例如 “ OPEN數據庫名稱” 或者 “刪除* FROM table_name” 你會執行一個 Statement.execute() 方法。你可以看到 執行() 在下面的代碼段中使用。在此示例中,我們將以編程方式創建數據庫。在此示例中,數據庫是微不足道的,由一個名為 hello_table 包含一個名為的單個字符列 。如果該序列尚不存在,它將創建一個數據庫;如果存在,則僅打開它。

*筆記: 該數據庫是通過編程創建的。有一些工具可以獨立於程序創建數據庫。查看快速 “如何使用SQL創建數據庫” 有關如何執行此操作的教程。

try {
Stmt.execute(“CREATE DATABASE hello_db”);
Stmt.execute(“CREATE TABLE hello_table (f00 char(31))”);
Conn.commit(); // now the database physically exists
} catch (SQLException exception) {
// we are here if database exists
Stmt.execute(“OPEN DATABASE hello_db”);
}

步驟8使用Statement對象插入新行

要將單行插入此數據庫,我們使用executeUpdate()方法,該方法用於完整(未準備好)的INSERT,UPDATE或DELETE語句。這隱式地啟動了 交易,這將是原子地應用於數據庫的更新工作的一個單元。下面顯示了一個INSERT,但是此時可以添加更多。

Stmt.executeUpdate(“將INERT插入hello_table值(“ Hello World”))”);

步驟9 提交變更

為了在數據庫中完成更改,您必須執行事務提交。在JDBC中,這是通過 聯繫 目的。我們將使用的方法是 Connection.commit() 並最終確定您在交易期間所做的任何更改。

Conn.commit(); //Commits all changes

第10步 創建結果集對象(從數據庫檢索數據)

在JDBC中,當您想從數據庫中檢索數據時,可以使用以下命令執行SQL SELECT語句 陳述 具有execute方法的對象,該方法返回一個 結果集對象。這個方法叫做 Statement.executeQuery()。這意味著它將執行指定的查詢,並在給定的結果集中返回查詢結果。

ResultSet RS = Stmt.executeQuery(“SELECT * FROM hello_table”);
try {

} finally {
RS.close();
}

步驟11 訪問結果集

為了訪問您的每條數據 結果集,您必須對其進行遍歷。在內部提供了一種方法 結果集 檢查下一個結果是否 結果集空值,表示沒有更多數據。如果方法 ResultSet.next() 退貨 真的 那麼數據庫中就有數據,您可以從結果集中檢索它。

要訪問結果集中的數據,您必須執行 吸氣劑 方法。有多種獲取方法可用於從結果集中檢索特定的數據類型。在此示例中,我們需要一個字符串,因此我們使用ResultSet.getString()方法,該參數為您要檢索的列(第一列/唯一列為1)。

查看下面的代碼,以查看如何完成此操作的示例。
while(RS.next() != false)
{
System.out.println(RS.getString(1));
}

此循環將檢索結果集中的所有行。第一次運行此示例程序時,將只有一行。如果您多次運行它,則每次運行都會發現一行。

第十二步 解除資源分配

在這裡,您將重新分配上面使用的所有資源。在這種情況下,您的資源就是您上面使用的每個對象,即 聯繫 目的, 陳述, 結果集 對象。對於每個嵌套 嘗試 塊,你將有一個 最後 塊,執行相應的 關閉 方法。這些語句已在上面的上下文中顯示,但是這裡是從代碼開始按順序進行的清理調用。
} finally {
RS.close ();
}
} finally {
Stmt.close ();
}
} catch (SQLException exception) {
System.err.println (“SQLException : ” + exception.toString ());
} finally {
Conn.close ();
}

步驟13 最終接球和最終擋

最後一塊包含兩個 抓住 塊和一個 最後 堵塞。這 抓住 塊確定如果在上面的代碼中引發異常,該怎麼辦。在這種情況下,僅顯示標準輸出的例外就足夠了。這 最後 無論是否引發異常,都將執行塊。在這裡,我們將分配我們的 聯繫 目的。在此示例中,如果您的 聯繫 對象確實由於某種原因引發了異常,它被“拋出”方法之外。在正常情況下,您可以添加另一個 試著抓 阻止,或將該程序聲明為單獨的方法,然後在其他地方處理。

} catch (SQLException exception) {
System.err.println(“SQLException : ” + exception.toString());
} finally {
Conn.close();
}

步驟14 編譯你的應用程序

如果你的 JDK 已正確安裝,您應該有權訪問Java編譯器,名為 javac。為了使您的程序成功編譯,您必須先設置 類路徑 包含您所有的類文件,包括您正在使用的.jar文件。由於JDBC驅動程序通常是.jar文件,因此您需要將其包括在 類路徑。如果使用命令行,則將執行類似於以下的操作:

Linux:CLASSPATH = $CLASSPATH; {當前工作目錄}; {。jar文件的直接路徑}

CLASSPATH = $CLASSPATH; / home / users / kevin / workspace /; / home / users / kevin / workspace / rdmjdbcJDK8-14.jar

*筆記: ./可用於表示當前工作目錄

Windows:設置CLASSPATH = %CLASSPATH%:{當前工作目錄}:{。jar文件的直接路徑}

設置CLASSPATH = %CLASSPATH%:C:userskevinworkspace:C:userskevinworkspacerdmjdbcJDK8-14.jar

設置好之後 類路徑 您應該已經準備好進行編譯。為此,您必須使用 javac 編譯器。所有平台上的編譯均相同。格式如下:
javac {main_class.java(指向程序的入口)}

在這種情況下,您將輸入:

javac HelloWorldJDBC.java

您應該不會看到任何警告,完成後將生成一個.class文件。您的目錄應包含:

HelloWorldJDBC.java
HelloWorldJDBC.class

第十五步 運行程序

運行程序就像輸入“ java {executable name}”一樣簡單。在這種情況下,您將擁有 “ java HelloWorldJDBC” 因為那是您程序的入口點。如果一切正常,您應該會在Windows命令提示符中看到類似以下的內容:

HelloWorldJDBC

完畢!

恭喜你!您剛剛完成了第一個JDBC應用程序。現在,您已經有了使用JDBC的“磁盤一勞永逸”功能,可以鼓勵您研究一些更複雜的示例。其餘的 JDBC演示 成為分步教程,其中包括事務提交和回滾以及表之間的多向關係。完成後,每個樣本都應快速,翔實且完全可拋棄。