jdbcjava
1.class.forName("驅動所在類及包名") 還需導入jar包
2.java.sql.Connection conn = DriverManager.getConnection(URL(即資料庫連接的ulr),USERNAME(對應數據的用戶名),PASSWORD(密碼));
3.String sql = "SELECT * FROM tableName WHERE id=?";
4.java.sql.PreparedStatement ptmt = conn.getPreparedStatement(sql);
5.ptmt.setInt(1,id值);
6.java.sql.ResultSet rs = ptmt.executeQuery();
7.while(rs.next){
System.out.println(rs.getString("欄位名"));
}
8.conn.close();ptmt.close();rs.close();
B. java中簡述使用JDBC完成資料庫操作的基本步驟。
創建一個以JDBC連接資料庫的程序,包含7個步驟:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問。
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
C. java 中JDBC 是干什麼的
JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關系資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更高級的工具和介面,使資料庫開發人員能夠編寫資料庫應用程序,同時,JDBC也是個商標名。
目錄
定義
用途
API
與ODBC和其它API的比較
對B/S和C/S模式的支持
SQL的一致性
入門-建立聯接裝載驅動程序
建立連接
入門-設置表創建表
創建對象
執行語句
在表中輸入數據
從表中取得數據
建立JDBC連接綜述
打開連接
一般用法的URL
JDBC URL
"odbc"子協議
發送SQL語句
事務
事務隔離級別
JDBC驅動管理綜述
跟蹤可用驅動程序
建立連接
利用JDBC發送SQL語句綜述
創建Statement對象
使用Statement對象執行語句
語句完成
關閉Statement對象
使用方法execute
基於JDBC的資料庫通用訪問方法通用資料庫Bean設計
資料庫表結構
JSP設計
在JSP中實現分頁顯示
如何選擇合適的JDBC產品JavaSoft框架
JDBC驅動程序的類型
JDBC驅動程序的獲取
JDBC的不足定義
用途
API
與ODBC和其它API的比較
對B/S和C/S模式的支持
SQL的一致性
入門-建立聯接 裝載驅動程序
建立連接
入門-設置表 創建表
創建對象
執行語句
在表中輸入數據
從表中取得數據
建立JDBC連接
綜述 打開連接 一般用法的URL JDBC URL "odbc"子協議 發送SQL語句 事務 事務隔離級別JDBC驅動管理
綜述 跟蹤可用驅動程序 建立連接利用JDBC發送SQL語句
綜述 創建Statement對象 使用Statement對象執行語句 語句完成 關閉Statement對象 使用方法execute基於JDBC的資料庫通用訪問方法
通用資料庫Bean設計 資料庫表結構 JSP設計在JSP中實現分頁顯示如何選擇合適的JDBC產品
JavaSoft框架 JDBC驅動程序的類型 JDBC驅動程序的獲取JDBC的不足展開 編輯本段定義
JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關系資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC為工具/資料庫開發人員提供了一個標準的API,據此可以構建更高級的工具和介面,使資料庫開發人員能夠用純 Java API 編寫資料庫應用程序,同時,JDBC也是個商標名。 有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase資料庫專門寫一個程序,為訪問Oracle資料庫又專門寫一個程序,或為訪問Informix資料庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應資料庫發送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平台編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平台上運行,這也是Java語言「編寫一次,處處運行」的優勢。 Java資料庫連接體系結構是用於Java應用程序連接資料庫的標准方法。JDBC對Java程序員而言是API,對實現與資料庫連接的服務提供商而言是介面模型。作為API,JDBC為程序開發提供標準的介面,並為資料庫廠商及第三方中間件廠商實現與資料庫的連接提供了標准方法。JDBC使用已有的SQL標准並支持與其它資料庫連接標准,如ODBC之間的橋接。JDBC實現了所有這些面向標準的目標並且具有簡單、嚴格類型定義且高性能實現的介面。 Java 具有堅固、安全、易於使用、易於理解和可從網路上自動下載等特性,是編寫資料庫應用程序的傑出語言。所需要的只是 Java應用程序與各種不同資料庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。 JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程資料庫。企業也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部資料庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統)。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問資料庫的要求也在日益增加。 MIS 管理員們都喜歡 Java 和 JDBC 的結合,因為它使信息傳播變得容易和經濟。企業可繼續使用它們安裝好的資料庫,並能便捷地存取信息,即使這些信息是儲存在不同資料庫管理系統上。新程序的開發期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然後將它放到伺服器上,隨後任何人就都可得到最新版本的應用程序。對於商務上的銷售信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。
編輯本段用途
簡單地說,JDBC 可做三件事:與資料庫建立連接、發送 操作資料庫的語句並處理結果。下列代碼段給出了以上三步的基本示例: Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login", "password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); } 上述代碼對基於JDBC的資料庫訪問做了經典的總結,當然,在本小節的後續部分會對它做詳盡的分析講解。
編輯本段API
JDBC 是個"低級"介面,也就是說,它用於直接調用 SQL 命令。在這方面它的功能極佳,並比其它的資料庫連接 API 易於使用,但它同時也被設計為一種基礎介面,在它之上可以建立高級介面和工具。高級介面是"對用戶友好的"介面,它使用的是一種更易理解和更為方便的 API,這種API在幕後被轉換為諸如 JDBC 這樣的低級介面。 在關系資料庫的"對象/關系"映射中,表中的每行對應於類的一個實例,而每列的值對應於該實例的一個屬性。於是,程序員可直接對 Java 對象進行操作;存取數據所需的 SQL 調用將在"掩蓋下"自動生成。此外還可提供更復雜的映射,例如將多個表中的行結合進一個 Java 類中。 隨著人們對 JDBC 的興趣日益增漲,越來越多的開發人員一直在使用基於 JDBC 的工具,以使程序的編寫更加容易。程序員也一直在編寫力圖使最終用戶對資料庫的訪問變得更為簡單的應用程序。例如應用程序可提供一個選擇資料庫任務的菜單。任務被選定後,應用程序將給出提示及空白供填寫執行選定任務所需的信息。所需信息輸入應用程序將自動調用所需的 SQL 命令。在這樣一種程序的協助下,即使用戶根本不懂 SQL 的語法,也可以執行資料庫任務。
編輯本段與ODBC和其它API的比較
目前,Microsoft 的 ODBC API 可能是使用最廣的、用於訪問關系資料庫的編程介面。它能在幾乎所有平台上連接幾乎所有的資料庫。為什麼 Java 不使用 ODBC?對這個問題的回答是:Java 可以使用 ODBC,但最好是在 JDBC 的幫助下以 JDBC-ODBC 橋的形式使用,這一點我們稍後再說。現在的問題已變成:"為什麼需要 JDBC"?答案是顯然的:ODBC 不適合直接在 Java 中使用,因為它使用 C 語言介面。從Java 調用本地 C 代碼在安全性、實現、堅固性和程序的自動移植性方面都有許多缺點。從 ODBC C API 到 Java API 的字面翻譯是不可取的。例如,Java 沒有指針,而 ODBC 卻對指針用得很廣泛(包括很容易出錯的指針"void *")。您可以將 JDBC 想像成被轉換為面向對象介面的 ODBC,而面向對象的介面對 Java 程序員來說較易於接受。 ODBC 很難學。它把簡單和高級功能混在一起,而且即使對於簡單的查詢,其選項也極為復雜。相反,JDBC 盡量保證簡單功能的簡便性,而同時在必要時允許使用高級功能。啟用"純 Java "機制需要象 JDBC 這樣的 Java API。如果使用ODBC,就必須手動地將 ODBC 驅動程序管理器和驅動程序安裝在每台客戶機上。如果完全用 Java 編寫 JDBC 驅動程序則 JDBC 代碼在所有 Java 平台上(從網路計算機到大型機)都可以自 動安裝、移植並保證安全性。 總之,JDBC API 對於基本的 SQL 抽象和概念是一種自然的 Java 介面。它建立在 ODBC 上而不是從零開始。因此,熟悉 ODBC 的程序員將發現 JDBC 很容易使用。JDBC 保留了 ODBC 的基本設計特徵;事實上,兩種介面都基於 X/Open SQL CLI(調用級介面)。它們之間最大的區別在於:JDBC 以 Java 風格與優點為基礎並進行優化,因此更加易於使用。 目前,Microsoft 又引進了 ODBC 之外的新 API: RDO、 ADO 和OLE DB。這些設計在許多方面與 JDBC 是相同的,即它們都是面向對象的資料庫介面且基於可在 ODBC 上實現的類。但在這些介面中,我們未看見有特別的功能使我們要轉而選擇它們來替代 ODBC,尤其是在 ODBC 驅動程序已建立起較為完善的市場的情況下。它們最多也就是在 ODBC 上加了一種裝飾而已。
編輯本段對B/S和C/S模式的支持
JDBC API 既支持資料庫訪問的兩層模型(C/S),同時也支持三層模型(B/S)。在兩層模型中,Java applet或應用程序將直接與資料庫進行對話。這將需要一個JDBC驅動程序來與所訪問的特定資料庫管理系統進行 通訊。用戶的SQL語句被送往資料庫中,而其結果將被送回給用戶。資料庫可以位於另一台計算機上,用戶通過網路連接到上面。這就叫做客戶機/伺服器配置,其中用戶的計算機為客戶機,提供資料庫的計算機為伺服器。網路可以是 Intranet(它可將公司職員連接起來),也可以是 Internet。 在三層模型中,命令先是被發送到服務的"中間層",然後由它將SQL 語句發送給資料庫。資料庫對 SQL 語句進行處理並將結果送回到中間層,中間層再將結果送回給用戶。MIS 主管們都發現三層模型很吸引人,因為可用中間層來控制對公司數據的訪問和可作的的更新的種類。中間層的另一個好處是,用戶可以利用易於使用的高級API,而中間層將把它轉換為相應的低級調用。最後,許多情況下三層結構可提供一些性能上的好處。 到目前為止,中間層通常都用 C 或 C++ 這類語言來編寫,這些語言執行速度較快。然而,隨著最優化編譯器(它把 Java 位元組代碼轉換為高效的特定於機器的代碼)的引入,用 Java 來實現中間層將變得越來越實際。這將是一個很大的進步,它使人們可以充分利用 Java 的諸多優點(如堅固、多線程和安全等特徵)。JDBC 對於從Java的中間層來訪問資料庫非常重要。
編輯本段SQL的一致性
結構化查詢語言 (SQL) 是訪問關系資料庫的標准語言。困難之處在於:雖然大多數的 DBMS (資料庫管理系統)對其基本功能都使用了標准形式的 SQL,但它們卻不符合最近為更高級的功能定義的標准 SQL 語法或語義。例如,並非所有的資料庫都支持儲存程序或外部連接,那些支持這一功能的資料庫又相互不一致。人們希望 SQL 中真正標準的那部份能夠進行擴展以包括越來越多的功能。但同時 JDBC API 又必須支持現有的 SQL。 JDBC API 解決這個問題的一種方法是允許將任何查詢字元串一直傳到所涉及的 DBMS 驅動程序上。這意味著應用程序可以使用任意多的 SQL 功能,但它必須冒這樣的風險:有可能在某些 DBMS 上出錯。事實上,應用程序查詢甚至不一定要是 SQL,或者說它可以是個為特定的 DBMS 設計的 SQL 的專用派生物(例如,文檔或圖象查詢)。 JDBC 處理 SQL 一致性問題的第二種方法是提供 ODBC 風格的轉義子句,這將在後續部分中討論。轉義語法為幾個常見的 SQL 分歧提供了一種標準的 JDBC 語法。例如,對日期文字和已儲存過程的調用都有轉義語法。 對於復雜的應用程序,JDBC 用第三種方法來處理 SQL 的一致性問題它利用 DatabaseMetaData 介面來提供關於 DBMS 的描述性信息,從而使應用程序能適應每個 DBMS 的要求和功能。
D. java jdbc驅動的四種類型請問具體都是什麼意思
type 1:jdbc-odbc橋
type 2:本地api驅動
type 3:網路協議驅動
type 4:本地協議驅動
Type 1: jdbc-odbc橋
Jdbc-odbc 橋 是sun公司提供的,是jdk提供的的標准api. 這種類型的驅動實際是把所有 jdbc的調用傳遞給odbc ,再由odbc調用本地資料庫驅動代碼.( 本地資料庫驅動代碼是指 由資料庫廠商提供的資料庫操作二進制代碼庫,例如在oracle for windows中就是oci dll 文 件)
jdbc-odbc橋 | odbc | 廠商DB代碼---------------資料庫Server
只要本地機裝有相關的odbc驅動那麼採用jdbc-odbc橋幾乎可以訪問所有的資料庫,jdbc- odbc方法對於客戶端已經具備odbc driver的應用還是可行的.
但是,由於jdbc-odbc先調用 odbc再由odbc去調用本地資料庫介面訪問資料庫.所以,執行效率比較低,對於那些大數據量 存取的應用是不適合的.而且,這種方法要求客戶端必須安裝odbc 驅動,所以對於基於 internet ,intranet的應用也是不合適的.因為,你不可能要求所有客戶都能找到odbc driver.
=====一般ACCESS用到的比較多,初學者用。實際項目是不用的。
Type 2: 本地Api驅動
本地api驅動直接把jdbc調用轉變為資料庫的標准調用再去訪問資料庫.
這種方法需要本地 資料庫驅動代碼. 本地api驅動 | 廠商DB代碼---------------資料庫Server (圖二) 這種驅動比起jdbc-odbc橋執行效率大大提高了.但是,它仍然需要在客戶端載入資料庫廠商 提供的代碼庫.這樣就不適合基於internet的應用.並且,他的執行效率比起3,4型的jdbc驅動 還是不夠高.
Type3:網路協議驅動 這種驅動實際上是根據我們熟悉的三層結構建立的. jdbc先把對數局庫的訪問請求傳遞給網 絡上的中間件伺服器. 中間件伺服器再把請求翻譯為符合資料庫規范的調用,再把這種調用 傳給資料庫伺服器.如果中間件伺服器也是用java開法的,那麼在在中間層也可以使用1,2型 jdbc驅動程序作為訪問資料庫的方法. 網路協議驅動---------中間件伺服器------------資料庫Server
由於這種驅動是基於server的.所以,它不需要在客戶端載入資料庫廠商提供的代碼庫.而且 他在執行效率和可升級性方面是比較好的.因為大部分功能實現都在server端,所以這種驅動 可以設計的很小,可以非常快速的載入到內存中. 但是,這種驅動在中間件層仍然需要有配置 其它資料庫驅動程序,並且由於多了一個中間層傳遞數據,它的執行效率還不是最好.
Type4 本地協議驅動
這種驅動直接把jdbc調用轉換為符合相關資料庫系統規范的請求.由於4型驅動寫的應用可 以直接和資料庫伺服器通訊.這種類型的驅動完全由java實現,因此實現了平台獨立性. 本地協議驅動---------資料庫Server
由於這種驅動不需要先把jdbc的調用傳給odbc或本地資料庫介面或者是中間層伺服器.所 以它的執行效率是非常高的.而且,它根本不需要在客戶端或伺服器端裝載任何的軟體或驅動. 這種驅動程序可以動態的被下載.但是對於不同的資料庫需要下載不同的驅動程序.
以上對四種類型的jdbc驅動做了一個說明.那麼它們適合那種類型的應用開發呢?
Jdbc-odbc橋由於它的執行效率不高,更適合做為開發應用時的一種過度方案,或著對於初學 者了解jdbc編程也較適用. 對於那些需要大數據量操作的應用程序則應該考慮2,3,4型驅動.在intranet方面的應用可以 考慮2型驅動,但是由於3,4型驅動在執行效率上比2型驅動有著明顯的優勢,而且目前開發 的趨勢是使用純java.所以3,4型驅動也可以作為考慮對象. 至於基於internet方面的應用就只有考慮3,4型驅動了. 因為3型驅動可以把多種資料庫驅 動都配置在中間層伺服器.所以3型驅動最適合那種需要同時連接多個不同種類的資料庫, 並且對並發連接要求高的應用. 4型驅動則適合那些連接單一資料庫的工作組應用。
現在是純java 開發,所以一般都用type4的jdbc driver。
E. java中的 jdbc是什麼 都包括什麼內容
ODBC(Open Database Connectivity,開放資料庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關資料庫的一個組成部分,它建立了一組規范,並提供了一組對資料庫訪問的標准API(應用程序編程介面)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC
JDBC是執行SQL語句的Java API。JDBC本身是一個產品的商標名,但它也可被看作為"Ja
va Database Connecivity(Java資料庫連接)"。它由一組用Java語言編寫的類與介面組成。
JDBC已成為一種供工具/資料庫開發者使用的標准API,用戶可以用純Java API來編寫資料庫
應用。
1)Java不能直接使用ODBC。因為ODBC使用C語言介面,如果讓Java來調用本機C代碼的話
,那麼會在安全、屬性、健壯性、應用的可移植性等方面帶來困難。
(2)不希望把ODBC C API逐字地翻譯成Java API。例如,ODBC使用了大量的易於出錯的指
針,而Java取消了這種不安全的指針。現在通過JDBC,把ODBC翻譯成具有Java風格的面向對象
的介面。
(3)ODBC難以學習。ODBC把簡單功能與高級功能混雜在一起,即便是簡單的查詢也會帶來
復雜的任選項。而JDBC的設計使得簡單的事情用簡單的做法,僅在必要時才讓用戶使用高級
功能。
(4)JDBC的Java API提供"純Java"的解決辦法。當使用ODBC時,ODBC驅動器管理程序與驅
動器必須手工地裝入到每架客戶機上。而JDBC驅動器全部是用Java編寫的,JDBC代碼則在所
有Java平台(從網路計算機到主機)上都可自動安裝,並且是可移植的和安全的。
F. JDBC屬於JavaSE還是JavaEE呢
JDBC是 java的資料庫框架。
鐵路局宣稱鋼鐵是鐵路建設的核心材料。
橋梁局宣稱鋼鐵是橋梁建設的核心材料。
房地產公司宣稱鋼鐵是房屋建設的核心材料。
你難道想問,到底是哪個核心材料?
JDBC,它就是訪問資料庫用的,哪種應用會用到資料庫連接,它就會用到JDBC。
G. java jdbc如何使用
給你個例子
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
publicclassDataBaseConnection{
privatestaticfinalStringDB_DRIVER="org.gjt.mm.mysql.Driver";
privatestaticfinalStringDB_URL="jdbc:mysql://localhost:3306/test";
privatestaticfinalStringDB_USER="root";
privatestaticfinalStringDB_PWD="mysql";
privateConnectionconn;
publicConnectiongetConnection(){
try{
if(conn==null||conn.isClosed()){
Class.forName(DB_DRIVER);
conn=DriverManager.getConnection(DB_URL,DB_USER,DB_PWD);
}
}catch(Exceptione){
e.printStackTrace();
}
returnconn;
}
publicvoidclose(){
if(conn!=null){
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
}
H. java與jdbc
public final static String driver="net.sourceforge.jtds.jdbc.Driver";
public final static String url="jdbc:jtds:sqlserver://localhost:1433/aa";
public final static String DBName="sa";
public final static String DBPwd="sasa";
//資料庫連接
public static Connection getConn(){
Connection conn=null;
try {
Class.forName(driver);
conn=DriverManager.getConnection(url, DBName, DBPwd);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//資料庫關閉
public void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs){
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt!=null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//通用增,刪,改方法
public int executeSQL(String preparedSql,String[] param){
Connection conn=null;
PreparedStatement pstmt=null;
int num=0;
try {
conn=getConn();
pstmt=conn.prepareStatement(preparedSql);
if(pstmt!=null){
for (int i = 0; i < param.length; i++) {
pstmt.setString(i+1, param[i]);
}
}
num=pstmt.executeUpdate();
}catch (SQLException e) {
e.printStackTrace();
}finally{
closeAll(conn,pstmt,null);
}
return num;
}
I. 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語句的執行過程中發生了例外情況(即錯誤)。