jdbcjava的簡單介紹

本文目錄一覽:

Java裡面的JDBC是什麼意思啊?

Java數據庫連接是Java語言中用來規範客戶端程序如何來訪問數據庫的應用程序接口,提供了諸如查詢和更新數據庫中數據的方法。JDBC也是Sun Microsystems的商標。我們通常說的JDBC是面向關係型數據庫的。

這種類型的驅動把所有JDBC的調用傳遞給ODBC,再讓後者調用數據庫本地驅動代碼(也就是數據庫廠商提供的數據庫操作二進制代碼庫,例如Oracle中的oci.dll)。

API概述

JDBC API主要位於JDK中的java.sql包中(之後擴展的內容位於javax.sql包中),主要包括(斜體代表接口,需驅動程序提供者來具體實現):

DriverManager:負責加載各種不同驅動程序(Driver),並根據不同的請求,向調用者返回相應的數據庫連接(Connection)。Driver:驅動程序,會將自身加載到DriverManager中去,並處理相應的請求並返回相應的數據庫連接(Connection)。Connection:數據庫連接,負責與進行數據庫間通訊,SQL執行以及事務處理都是在某個特定Connection環境中進行的。

可以產生用以執行SQL的Statement。Statement:用以執行SQL查詢和更新(針對靜態SQL語句和單次執行)。PreparedStatement:用以執行包含動態參數的SQL查詢和更新(在服務器端編譯,允許重複執行以提高效率)。CallableStatement:

用以調用數據庫中的存儲過程。SQLException:代表在數據庫連接的建立和關閉和SQL語句的執行過程中發生了例外情況(即錯誤)。

java中使用JDBC完成數據庫操作的基本步驟是什麼?

創建一個以JDBC連接數據庫的程序,包含7個步驟: \x0d\x0a 1、加載JDBC驅動程序: \x0d\x0a 在連接數據庫之前,首先要加載想要連接的數據庫的驅動到JVM(Java虛擬機), \x0d\x0a 這通過java.lang.Class類的靜態方法forName(String className)實現。 \x0d\x0a 例如: \x0d\x0a try{ \x0d\x0a //加載MySql的驅動類 \x0d\x0a Class.forName(“com.mysql.jdbc.Driver”) ; \x0d\x0a }catch(ClassNotFoundException e){ \x0d\x0a System.out.println(“找不到驅動程序類 ,加載驅動失敗!”); \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a 成功加載後,會將Driver類的實例註冊到DriverManager類中。 \x0d\x0a 2、提供JDBC連接的URL \x0d\x0a •連接URL定義了連接數據庫時的協議、子協議、數據源標識。 \x0d\x0a •書寫形式:協議:子協議:數據源標識 \x0d\x0a 協議:在JDBC中總是以jdbc開始 \x0d\x0a 子協議:是橋連接的驅動程序或是數據庫管理系統名稱。 \x0d\x0a 數據源標識:標記找到數據庫來源的地址與連接端口。 \x0d\x0a 例如:(MySql的連接URL) \x0d\x0a jdbc:mysql: \x0d\x0a //localhost:3306/test?useUnicode=truecharacterEncoding=gbk ; \x0d\x0a useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為 \x0d\x0a gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字符編碼方式。 \x0d\x0a 3、創建數據庫的連接 \x0d\x0a •要連接數據庫,需要向java.sql.DriverManager請求並獲得Connection對象, \x0d\x0a 該對象就代表一個數據庫的連接。 \x0d\x0a •使用DriverManager的getConnectin(String url , String username , \x0d\x0a String password )方法傳入指定的欲連接的數據庫的路徑、數據庫的用戶名和 \x0d\x0a 密碼來獲得。 \x0d\x0a 例如: \x0d\x0a //連接MySql數據庫,用戶名和密碼都是root \x0d\x0a String url = “jdbc:mysql://localhost:3306/test” ; \x0d\x0a String username = “root” ; \x0d\x0a String password = “root” ; \x0d\x0a try{ \x0d\x0a Connection con = \x0d\x0a DriverManager.getConnection(url , username , password ) ; \x0d\x0a }catch(SQLException se){ \x0d\x0a System.out.println(“數據庫連接失敗!”); \x0d\x0a se.printStackTrace() ; \x0d\x0a } \x0d\x0a 4、創建一個Statement \x0d\x0a •要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 \x0d\x0a 種類型: \x0d\x0a 1、執行靜態SQL語句。通常通過Statement實例實現。 \x0d\x0a 2、執行動態SQL語句。通常通過PreparedStatement實例實現。 \x0d\x0a 3、執行數據庫存儲過程。通常通過CallableStatement實例實現。 \x0d\x0a 具體的實現方式: \x0d\x0a Statement stmt = con.createStatement() ; \x0d\x0a PreparedStatement pstmt = con.prepareStatement(sql) ; \x0d\x0a CallableStatement cstmt = \x0d\x0a con.prepareCall(“{CALL demoSp(? , ?)}”) ; \x0d\x0a 5、執行SQL語句 \x0d\x0a Statement接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate \x0d\x0a 和execute \x0d\x0a 1、ResultSet executeQuery(String sqlString):執行查詢數據庫的SQL語句 \x0d\x0a ,返回一個結果集(ResultSet)對象。 \x0d\x0a 2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或 \x0d\x0a DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等 \x0d\x0a 3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的 \x0d\x0a 語句。 \x0d\x0a 具體實現的代碼: \x0d\x0a ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ; \x0d\x0a int rows = stmt.executeUpdate(“INSERT INTO …”) ; \x0d\x0a boolean flag = stmt.execute(String sql) ; \x0d\x0a 6、處理結果 \x0d\x0a 兩種情況: \x0d\x0a 1、執行更新返回的是本次操作影響到的記錄數。 \x0d\x0a 2、執行查詢返回的結果是一個ResultSet對象。 \x0d\x0a • ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 \x0d\x0a 行中數據的訪問。 \x0d\x0a • 使用結果集(ResultSet)對象的訪問方法獲取數據: \x0d\x0a while(rs.next()){ \x0d\x0a String name = rs.getString(“name”) ; \x0d\x0a String pass = rs.getString(1) ; // 此方法比較高效 \x0d\x0a } \x0d\x0a (列是從左到右編號的,並且從列1開始) \x0d\x0a 7、關閉JDBC對象 \x0d\x0a 操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲 \x0d\x0a 明順序相反: \x0d\x0a 1、關閉記錄集 \x0d\x0a 2、關閉聲明 \x0d\x0a 3、關閉連接對象 \x0d\x0a if(rs != null){ // 關閉記錄集 \x0d\x0a try{ \x0d\x0a rs.close() ; \x0d\x0a }catch(SQLException e){ \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a } \x0d\x0a if(stmt != null){ // 關閉聲明 \x0d\x0a try{ \x0d\x0a stmt.close() ; \x0d\x0a }catch(SQLException e){ \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a } \x0d\x0a if(conn != null){ // 關閉連接對象 \x0d\x0a try{ \x0d\x0a conn.close() ; \x0d\x0a }catch(SQLException e){ \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a }

什麼是JDBC?

JDBC(Java DataBase Connectivity,java數據庫連接)是一種用於執行SQL語句的Java API,可以為多種關係數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。

JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序,同時,JDBC也是個商標名。

擴展資料:

jdbc的組件框架:

JavaSoft提供三種JDBC產品組件,它們是Java開發工具包(JDK)的組成部份:JDBC驅動程序管理器、JDBC驅動程序測試工具包和JDBC-ODBC橋。

JDBC驅動程序管理器是JDBC體系結構的支柱。它實際上很小,也很簡單;其主要作用是把Java應用程序連接到正確的JDBC驅動程序上,然後即退出。

JDBC驅動程序測試工具包為使JDBC驅動程序運行您的程序提供一定的可信度。只有通過JDBC驅動程序測試的驅動程序才被認為是符合JDBC標準TM的。

JDBC-ODBC橋使ODBC驅動程序可被用作JDBC驅動程序。它的實現為JDBC的快速發展提供了一條途徑,其長遠目標提供一種訪問某些不常見的DBMS(如果對這些不常見的DBMS未實現JDBC)的方法。

參考資料來源:百度百科—jdbc

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/189154.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 08:01
下一篇 2024-11-29 08:01

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27

發表回復

登錄後才能評論