當前位置:首頁 » 編程語言 » javasqljdbc

javasqljdbc

發布時間: 2022-12-25 12:13:37

1. javasqljdbc4.jar鏈接sql 2005。。怎麼樣關聯資料庫

把你的sqljdbc4.jar放到classpath下

importjava.sql.*;publicclassTest{
publicstaticvoidmain(String[]srg){
StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//載入JDBC驅動
StringdbURL="jdbc:sqlserver://localhost:1433;DatabaseName=test";//連接伺服器和資料庫test
StringuserName="sa";//默認用戶名
StringuserPwd="123456";//密碼
ConnectiondbConn;
try{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("ConnectionSuccessful!");//如果連接成功控制台輸出ConnectionSuccessful!
}catch(Exceptione){
e.printStackTrace();
}
}
}

2. 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語句的執行過程中發生了例外情況(即錯誤)。

3. 如何用java 連接 sqlserver 資料庫

本文將介紹使用java連接sqlserver資料庫


工具/材料

myeclipse 、 SqlServer資料庫


方法:

1、要向連接資料庫,首先應該保證資料庫服務打開

2、資料庫服務打開之後就可以在環境中編寫連接代碼了。如圖:


連接資料庫就是這兩個步驟:1)載入驅動、2)創建連接。

注意在導包是導入的java.sql下的。

接下來直接運行一下就可以測試是否連接成功了

4. java.sql的JDBC內容

JDBCTM 3.0 API 中包括 java.sql 包,被稱為 JDBC 核心 API,和 javax.sql 包,被稱為 JDBC Optional Package API。完整的 JDBC API 包含在 J2SE 1.4 中。javax.sql 包擴展了 JDBC API 的功能,將它從客戶端API 擴展到伺服器端 API,該包是 JavaTM 2 SDK、企業版 (J2EETM) 技術的重要部分。(注意,J2EE 平台還包括完整 JDBC API;JDBC 3.0 API 中的新特性包含在 J2EE 1.3 版中)。
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 可為外部客戶提供獲取信息更新的更好方法。 可滾動的結果集:使用 ResultSet 介面中的新方法,這些方法允許將游標移動到某一特定行,或者移動到其當前位置的某一相對位置 批量更新 編程式更新:使用 ResultSet updater 方法 新數據類型:映射 SQL3 數據類型的介面 用戶定義類型 (UDT) 的自定義映射關系 其他特性,包括性能提示、字元流的使用、java.math.BigDecimal 值的完全精度、其他安全性,以及對日期、時間和時間戳值中的時區的支持。

5. 徹底搞懂JDBC的運行過程

前幾天筆者發布了博客,手寫mybatis徹底搞懂框架原理。為了幫助初學者更好理解mybatis框架,這次講解一下Java的JDBC的運行過程。

JDBC的作用

JDBC的全稱是Java DataBase Connection,也就是Java資料庫連接,我們可以用它來操作關系型資料庫。JDBC介面及相關類在java.sql包和javax.sql包里。我們可以用它來連接資料庫,執行SQL查詢,存儲過程,並處理返回的結果。

JDBC介面讓Java程序和JDBC驅動實現了松耦合,使得切換不同的資料庫變得更加簡單。

JDBC的連接步驟

執行一次JDBC連接,分六個步驟進行:

1. 導入包

在程序中包含資料庫編程所需的JDBC類。大多數情況下,使用 import java.sql.* 就足夠了

2. 注冊JDBC驅動程序

需要初始化驅動程序,這樣就可以打開與資料庫的通信。

3. 打開一個連接

使用DriverManager.getConnection()方法來創建一個Connection對象,它代表一個資料庫的物理連接。

4. 執行一個查詢

需要使用一個類型為Statement或PreparedStatement的對象(兩者區別看後文),並提交一個SQL語句到資料庫執行查詢。

5. 從結果集中提取數據

這一步中演示如何從資料庫中獲取查詢結果的數據。使用ResultSet.getXXX()方法來檢索的數據結果

6. 清理環境資源

在使用JDBC與數據交互操作資料庫中的數據後,應該明確地關閉所有的資料庫資源以減少資源的浪費。本文使用了try with resources方式關閉資源,這是JDK7的語法糖,讀者可自行搜索。

完整代碼如下。

JDBC的最佳實踐

JDBC是如何實現Java程序和JDBC驅動的松耦合?

JDBC API使用Java的反射機制來實現Java程序和JDBC驅動的松耦合。看一下上文的JDBC示例,你會發現所有操作都是通過JDBC介面完成的,而驅動只有在通過Class.forName反射機制來載入的時候才會出現。

這是Java核心庫里反射機制的最佳實踐之一,它使得應用程序和驅動程序之間進行了隔離,讓遷移資料庫的工作變得更簡單。

Statement和PreparedStatement區別

預編譯

創建時的區別:

執行時的區別:

由上可以看出,PreparedStatement有預編譯的過程,已經綁定sql,之後無論執行多少次,都不會再去進行編譯,而Statement 不同,如果執行多次,則相應的就要編譯多少次sql,所以從這點看,PreparedStatement的效率會比Statement要高一些。PreparedStatement是預編譯的,所以可以有效的防止SQL注入等問題

佔位符

PrepareStatement可以替換變數在SQL語句中可以包含?,可以用?替換成變數。

而Statement只能用字元串拼接。

JDBC的ResultSet

在查詢資料庫後會返回一個ResultSet,它就像是查詢結果集的一張數據表。

ResultSet對象維護了一個游標,指向當前的數據行。開始的時候這個游標指向的是第一行。如果調用了ResultSet的next()方法游標會下移一行,如果沒有更多的數據了,next()方法會返回false。可以在for循環中用它來遍歷數據集。

默認的ResultSet是不能更新的,游標也只能往下移。也就是說你只能從第一行到最後一行遍歷一遍。不過也可以創建可以回滾或者可更新的ResultSet,像下面這樣。

當生成ResultSet的Statement對象要關閉或者重新執行或是獲取下一個ResultSet的時候,ResultSet對象也會自動關閉。

可以通過ResultSet的getter方法,傳入列名或者從1開始的序號來獲取列數據。

ResultSet的不同類型

根據創建Statement時輸入參數的不同,會對應不同類型的ResultSet。如果你看下Connection的方法,你會發現createStatement和prepareStatement方法重載了,以支持不同的ResultSet和並發類型。

ResultSet對象有三種類型。

ResultSet有兩種並發類型。

6. java.sql的JDBCAPI

JDBC 是個低級介面,也就是說,它用於直接調用 SQL 命令。在這方面它的功能極佳,並比其它的資料庫連接 API 易於使用,但它同時也被設計為一種基礎介面,在它之上可以建立高級介面和工具。高級介面是對用戶友好的介面,它使用的是一種更易理解和更為方便的 API,這種API在幕後被轉換為諸如 JDBC 這樣的低級介面。
在關系資料庫的對象/關系映射中,表中的每行對應於類的一個實例,而每列的值對應於該實例的一個屬性。於是,程序員可直接對 Java 對象進行操作;存取數據所需的 SQL 調用將在掩蓋下自動生成。此外還可提供更復雜的映射,例如將多個表中的行結合進一個 Java 類中。
隨著人們對 JDBC 的興趣日益增漲,越來越多的開發人員一直在使用基於 JDBC 的工具,以使程序的編寫更加容易。程序員也一直在編寫力圖使最終用戶對資料庫的訪問變得更為簡單的應用程序。例如應用程序可提供一個選擇資料庫任務的菜單。任務被選定後,應用程序將給出提示及空白供填寫執行選定任務所需的信息。所需信息輸入應用程序將自動調用所需的 SQL 命令。在這樣一種程序的協助下,即使用戶根本不懂 SQL 的語法,也可以執行資料庫任務。 JDBC與ODBC和其他API的比較,基於windows平台,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 上加了一種裝飾而已。 JDBC API 既支持資料庫訪問的兩層模型(C/S),同時也支持三層模型(B/S)。在兩層模型中,Java applet或應用程序將直接與資料庫進行對話。這將需要一個JDBC驅動程序來與所訪問的特定資料庫管理系統進行通訊。用戶的SQL語句被送往資料庫中,而其結果將被送回給用戶。資料庫可以位於另一台計算機上,用戶通過網路連接到上面。這就叫做客戶機/伺服器配置,其中用戶的計算機為客戶機,提供資料庫的計算機為伺服器。網路可以是 Intranet(它可將公司職員連接起來),也可以是 Internet。
在三層模型中,命令先是被發送到服務的中間層,然後由它將SQL 語句發送給資料庫。資料庫對 SQL 語句進行處理並將結果送回到中間層,中間層再將結果送回給用戶。MIS 主管們都發現三層模型很吸引人,因為可用中間層來控制對公司數據的訪問和可作的的更新的種類。中間層的另一個好處是,用戶可以利用易於使用的高級API,而中間層將把它轉換為相應的低級調用。最後,許多情況下三層結構可提供一些性能上的好處。
中間層通常都用 C 或 C++ 這類語言來編寫,這些語言執行速度較快。然而,隨著最優化編譯器(它把 Java位元組代碼轉換為高效的特定於機器的代碼)的引入,用 Java 來實現中間層將變得越來越實際。這將是一個很大的進步,它使人們可以充分利用 Java 的諸多優點(如堅固、多線程和安全等特徵)。JDBC 對於從Java的中間層來訪問資料庫非常重要。

7. java:sqljdbc.jar和sqljdbc4.jar什麼用

sqljdbc.jar是連接sql server 2005以下用的jar包,sqljdbc 4是連接sql server 2005以上包括sql server 2005用的jar包

熱點內容
演算法牛 發布:2024-05-05 22:43:40 瀏覽:718
grublinux引導 發布:2024-05-05 22:37:56 瀏覽:214
unix高級編程第三版pdf 發布:2024-05-05 22:32:09 瀏覽:958
手機wap網站源碼 發布:2024-05-05 22:27:44 瀏覽:259
python修改文件某一行 發布:2024-05-05 22:18:22 瀏覽:457
md5加密64 發布:2024-05-05 21:59:30 瀏覽:527
259pp頁面訪問升級 發布:2024-05-05 21:47:51 瀏覽:89
迅雷阻止上傳 發布:2024-05-05 21:26:19 瀏覽:914
資料庫運維題 發布:2024-05-05 21:21:47 瀏覽:962
RM魔塔編程 發布:2024-05-05 21:21:47 瀏覽:286