javajdbc,javajdbc是什麼

本文目錄一覽:

java中使用JDBC連接數據庫的步驟是什麼?

註冊驅動

Class.forname(“com.mysql.jdbc.Driver”);//這是連接mysql數據庫的驅動

獲取數據庫連接

java.sql.Connection conn=java.sql.DriverManager.getConnection(); 3.獲取表達式

java.sql.Statement  stmt=conn.createStatement(“jdbc:mysql://localhost/test?

useUnicode=truecharacterEncoding=GBK”,”root”,”null”);//三個參數分別是數據庫連接的URL,

用戶名,密碼 4.執行SQL

java.sql.ResultSet   rs=stmt.executeQuery(“select * from user”); 5.顯示結果集裏面的數據

while(rs.next()){

System.out.println(rs.getInt(1));

System.out.println(rs.getString(“username”));

System.out.println(rs.getString(“password”));

System.out.pringln();

}//執行插入語句

//stmt.executeUpdate(“insert into user values(1,’中文’,’345′)”);

釋放資源

rs.close();

stmt.close();

conn.close();

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 }

java中連接數據庫的方式,有JDBC還有什麼?

這是老師發給我們的資料,共享給你:\x0d\x0aType 1: jdbc-odbc橋 \x0d\x0aJdbc-odbc 橋 是sun公司提供的,是jdk提供的的標準api. 這種類型的驅動實際是把所有 jdbc的調用傳遞給odbc ,再由odbc調用本地數據庫驅動代碼.( 本地數據庫驅動代碼是指 由數據庫廠商提供的數據庫操作二進制代碼庫,例如在oracle for windows中就是oci dll 文 件) \x0d\x0a\x0d\x0ajdbc-odbc橋|odbc|廠商DB代碼—數據庫Server\x0d\x0a\x0d\x0a只要本地機裝有相關的odbc驅動那麼採用jdbc-odbc橋幾乎可以訪問所有的數據庫,jdbc- odbc方法對於客戶端已經具備odbc driver的應用還是可行的.\x0d\x0a\x0d\x0a但是,由於jdbc-odbc先調用 odbc再由odbc去調用本地數據庫接口訪問數據庫.所以,執行效率比較低,對於那些大數據量 存取的應用是不適合的.而且,這種方法要求客戶端必須安裝odbc 驅動,所以對於基於 internet ,intranet的應用也是不合適的.因為,你不可能要求所有客戶都能找到odbc driver. \x0d\x0a\x0d\x0a=====一般ACCESS用到的比較多,初學者用。實際項目是不用的。\x0d\x0a\x0d\x0aType 2: 本地Api驅動 \x0d\x0a\x0d\x0a本地api驅動直接把jdbc調用轉變為數據庫的標準調用再去訪問數據庫.\x0d\x0a\x0d\x0a這種方法需要本地 數據庫驅動代碼. 本地api驅動|廠商DB代碼—數據庫Server這種驅動比起jdbc-odbc橋執行效率大大提高了.但是,它仍然需要在客戶端加載數據庫廠商 提供的代碼庫.這樣就不適合基於internet的應用.並且,他的執行效率比起3,4型的jdbc驅動 還是不夠高. \x0d\x0a\x0d\x0aType3:網絡協議驅動 這種驅動實際上是根據我們熟悉的三層結構建立的. jdbc先把對數局庫的訪問請求傳遞給網 絡上的中間件服務器. 中間件服務器再把請求翻譯為符合數據庫規範的調用,再把這種調用 傳給數據庫服務器.如果中間件服務器也是用java開法的,那麼在在中間層也可以使用1,2型 jdbc驅動程序作為訪問數據庫的方法. 網絡協議驅動–中間件服務器—數據庫Server \x0d\x0a\x0d\x0a由於這種驅動是基於server的.所以,它不需要在客戶端加載數據庫廠商提供的代碼庫.而且 他在執行效率和可升級性方面是比較好的.因為大部分功能實現都在server端,所以這種驅動 可以設計的很小,可以非常快速的加載到內存中. 但是,這種驅動在中間件層仍然需要有配置 其它數據庫驅動程序,並且由於多了一個中間層傳遞數據,它的執行效率還不是最好. \x0d\x0a\x0d\x0aType4 純JAVA驅動 \x0d\x0a這種驅動直接把jdbc調用轉換為符合相關數據庫系統規範的請求.由於4型驅動寫的應用可 以直接和數據庫服務器通訊.這種類型的驅動完全由java實現,因此實現了平台獨立性. 本地協議驅動———數據庫Server \x0d\x0a\x0d\x0a由於這種驅動不需要先把jdbc的調用傳給odbc或本地數據庫接口或者是中間層服務器.所 以它的執行效率是非常高的.而且,它根本不需要在客戶端或服務器端裝載任何的軟件或驅動. 這種驅動程序可以動態的被下載.但是對於不同的數據庫需要下載不同的驅動程序. \x0d\x0a\x0d\x0a以上對四種類型的jdbc驅動做了一個說明.那麼它們適合那種類型的應用開發呢? \x0d\x0a\x0d\x0aJdbc-odbc橋由於它的執行效率不高,更適合做為開發應用時的一種過度方案,或着對於初學 者了解jdbc編程也較適用. 對於那些需要大數據量操作的應用程序則應該考慮2,3,4型驅動.在intranet方面的應用可以 考慮2型驅動,但是由於3,4型驅動在執行效率上比2型驅動有着明顯的優勢,而且目前開發 的趨勢是使用純java.所以3,4型驅動也可以作為考慮對象. 至於基於internet方面的應用就只有考慮3,4型驅動了. 因為3型驅動可以把多種數據庫驅 動都配置在中間層服務器.所以3型驅動最適合那種需要同時連接多個不同種類的數據庫, 並且對並發連接要求高的應用. 4型驅動則適合那些連接單一數據庫的工作組應用。\x0d\x0a\x0d\x0a現在是純java 開發,所以一般都用type4的jdbc driver。

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

JDBC(Java

Data

Base

Connectivity,java數據庫連接)是一種用於執行SQL語句的Java

API,可以為多種關係數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具和接口,使數據庫開發人員能夠編寫數據庫應用程序,同時,JDBC也是個商標名。

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

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

發表回復

登錄後才能評論