本文目錄一覽:
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-hk/n/189154.html