91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用JDBC連接數據庫

發布時間:2021-07-14 15:24:23 來源:億速云 閱讀:282 作者:chen 欄目:編程語言

本篇內容主要講解“如何使用JDBC連接數據庫”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用JDBC連接數據庫”吧!

據估算,將近一半的軟件開發都要涉及客戶(機)/服務器方面的操作。Java為自己保證的一項出色能力就是構建與平臺無關的客戶機/服務器數據庫應用。在Java 1.1中,這一保證通過Java數據庫連接(JDBC)實現了。

數據庫最主要的一個問題就是各家公司之間的規格大戰。確實存在一種“標準”數據庫語言,即“結構查詢語言”(SQL-92),但通常都必須確切知道自己要和哪家數據庫公司打交道,否則極易出問題,盡管存在所謂的“標準”。JDBC是面向“與平臺無關”設計的,所以在編程的時候不必關心自己要使用的是什么數據庫產品,只要使用JDBC連接數據庫就可以。然而,從JDBC里仍有可能發出對某些數據庫公司專用功能的調用,所以仍然不可任性妄為。

和Java中的許多API一樣,JDBC也做到了盡量的簡化。我們發出的方法調用對應于從數據庫收集數據時想當然的做法:使用JDBC連接數據庫,創建一個語句并執行查詢,然后處理結果集。

為實現這一“與平臺無關”的特點,JDBC為我們提供了一個“驅動程序管理器”,它能動態維護數據庫查詢所需的所有驅動程序對象。所以假如要連接由三家公司開發的不同種類的數據庫,就需要三個單獨的驅動程序對象。驅動程序對象會在裝載時由“驅動程序管理器”自動注冊,并可用Class.forName()強行裝載。

為打開一個數據庫,必須創建一個“數據庫URL”,它要指定下述三方面的內容:

(1) 用“jdbc”指出要使用JDBC。

(2) “子協議”:驅動程序的名字或者一種數據庫連接機制的名稱。由于JDBC的設計從ODBC吸收了許多靈感,所以可以選用的***種子協議就是“jdbc-odbc橋”,它用“odbc”關鍵字即可指定。

(3) 數據庫標識符:隨使用的數據庫驅動程序的不同而變化,但一般都提供了一個比較符合邏輯的名稱,由數據庫管理軟件映射(對應)到保存了數據表的一個物理目錄。為使自己的數據庫標識符具有任何含義,必須用自己的數據庫管理軟件為自己喜歡的名字注冊(注冊的具體過程又隨運行平臺的不同而變化)。

所有這些信息都統一編譯到一個字串里,即“數據庫URL”。舉個例子來說,若想通過ODBC子協議同一個標識為“people”的數據庫連接,相應的數據庫URL可設為:

String dbUrl = \"jdbc:odbc:people\"

如果通過一個網絡連接,數據庫URL也需要包含對遠程機器進行標識的信息。

準備好同數據庫連接后,可調用靜態方法DriverManager.getConnection(),將數據庫的URL以及進入那個數據庫所需的用戶名密碼傳遞給它。得到的返回結果是一個Connection對象,利用它即可查詢和操縱數據庫。

下面是一個使用JDBC連接數據庫的例子,將打開一個聯絡信息數據庫,并根據命令行提供的參數查詢一個人的姓(Last Name)。它只選擇那些有E-mail地址的人的名字,然后列印出符合查詢條件的所有人:

//: Lookup.java   // Looks up email addresses in a    // local database using JDBC   import java.sql.*;    public class Lookup {     public static void main(String[] args) {       String dbUrl = \"jdbc:odbc:people\";       String user = \"\";       String password = \"\"; [Page]      try {         // Load the driver (registers itself)         Class.forName(           \"sun.jdbc.odbc.JdbcOdbcDriver\");         Connection c = DriverManager.getConnection(           dbUrl, user, password);         Statement s = c.createStatement();         // SQL code:         ResultSet r =            s.executeQuery(             \"SELECT FIRST, LAST, EMAIL \" +             \"FROM people.csv people \" +             \"WHERE \" +             \"(LAST=’\" + args[0] + \"’) \" +             \" AND (EMAIL Is Not Null) \" +             \"ORDER BY FIRST\");         while(r.next()) {           // Capitalization doesn’t matter:           System.out.println(             r.getString(\"Last\") + \", \"              + r.getString(\"fIRST\")             + \": \" + r.getString(\"EMAIL\") );         }         s.close(); // Also closes ResultSet       } catch(Exception e) {         e.printStackTrace();       }     }   } ///:~

可以看到,數據庫URL的創建過程與我們前面講述的完全一樣。在該例中,數據庫未設密碼保護,所以用戶名和密碼都是空串。

用DriverManager.getConnection()建好連接后,接下來可根據結果Connection對象創建一個Statement(語句)對象,這是用createStatement()方法實現的。根據結果Statement,我們可調用executeQuery(),向其傳遞包含了SQL-92標準SQL語句的一個字串(不久就會看到如何自動創建這類語句,所以沒必要在這里知道關于SQL更多的東西)。

executeQuery()方法會返回一個ResultSet(結果集)對象,它與繼承器非常相似:next()方法將繼承器移至語句中的下一條記錄;如果已抵達結果集的末尾,則返回null。我們肯定能從executeQuery()返回一個ResultSet對象,即使查詢結果是個空集(也就是說,不會產生一個違例)。注意在試圖讀取任何記錄數據之前,都必須調用一次next()。若結果集為空,那么對next()的這個***調用就會返回false。對于結果集中的每條記錄,都可將字段名作為字串使用(當然還有其他方法),從而選擇不同的字段。另外要注意的是字段名的大小寫是無關緊要的——SQL數據庫不在乎這個問題。為決定返回的類型,可調用getString(),getFloat()等等。到這個時候,我們已經用Java的原始格式得到了自己的數據庫數據,這樣一個過程下來就完成了JDBC連接數據庫的任務;接下去可用Java代碼做自己想做的任何事情了。

到此,相信大家對“如何使用JDBC連接數據庫”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴东县| 阜南县| 揭西县| 钟祥市| 延吉市| 且末县| 财经| 连城县| 开平市| 房产| 乐都县| 繁昌县| 文安县| 呼和浩特市| 贵阳市| 汉寿县| 四子王旗| 营口市| 安康市| 桃江县| 涿鹿县| 惠来县| 哈巴河县| 神农架林区| 栾城县| 巴东县| 香河县| 浮梁县| 德庆县| 关岭| 仙居县| 岳阳县| 武功县| 宜川县| 红河县| 叙永县| 黑水县| 贵港市| 龙州县| 崇仁县| 克拉玛依市|