![java數(shù)據(jù)庫操作_第1頁](http://file3.renrendoc.com/fileroot3/2021-11/20/9575bf25-a077-44c1-9d8a-b54d049f998d/9575bf25-a077-44c1-9d8a-b54d049f998d1.gif)
![java數(shù)據(jù)庫操作_第2頁](http://file3.renrendoc.com/fileroot3/2021-11/20/9575bf25-a077-44c1-9d8a-b54d049f998d/9575bf25-a077-44c1-9d8a-b54d049f998d2.gif)
![java數(shù)據(jù)庫操作_第3頁](http://file3.renrendoc.com/fileroot3/2021-11/20/9575bf25-a077-44c1-9d8a-b54d049f998d/9575bf25-a077-44c1-9d8a-b54d049f998d3.gif)
![java數(shù)據(jù)庫操作_第4頁](http://file3.renrendoc.com/fileroot3/2021-11/20/9575bf25-a077-44c1-9d8a-b54d049f998d/9575bf25-a077-44c1-9d8a-b54d049f998d4.gif)
![java數(shù)據(jù)庫操作_第5頁](http://file3.renrendoc.com/fileroot3/2021-11/20/9575bf25-a077-44c1-9d8a-b54d049f998d/9575bf25-a077-44c1-9d8a-b54d049f998d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、JDBC回顧1 java.io包中包含了一系列對輸入/輸出進(jìn)行操作的類 File類用于訪問文件系統(tǒng),但只能訪問文件(或目錄)的屬性,而不能進(jìn)行讀/寫操作 流是指一連串流動的數(shù)據(jù)信號,是以先進(jìn)先出方式發(fā)送信息的通道,從流動方向上區(qū)分,流可以分為輸入流和輸出流,從格式上區(qū)分,可以分為字節(jié)流和字符流 使用FileInputStream類和FileOutputStream類以字節(jié)流的方式讀寫文件回顧2FileReader類和FileWriter類配合BufferedReader類和BufferedWriter類可以以字符流的方式對文件進(jìn)行讀/寫操作要從控制臺接受輸入,需要將System.in對象進(jìn)行包
2、裝,使用如下語句:InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);DataInputStream類和DataOutputStream類在讀/寫數(shù)據(jù)時可以區(qū)分?jǐn)?shù)據(jù)類型絕大部分的IO操作都有可能拋出IOException本章相關(guān)詞匯單單 詞詞說說 明明driver驅(qū)動,驅(qū)動程序驅(qū)動,驅(qū)動程序connection連接連接manager管理器管理器statement語句語句prepared預(yù)備的,預(yù)編譯的預(yù)備的,預(yù)編譯的result結(jié)果結(jié)果creat
3、e創(chuàng)建,創(chuàng)造創(chuàng)建,創(chuàng)造execute執(zhí)行執(zhí)行query查詢查詢本章目標(biāo) 了解JDBC的概念和必要性 了解JDBC驅(qū)動程序類型 了解java.sql包 理解JDBC程序的結(jié)構(gòu) 使用JDBC進(jìn)行數(shù)據(jù)庫編程數(shù)據(jù)庫訪問技術(shù)簡介數(shù)據(jù)庫訪問技術(shù)簡介當(dāng)今企業(yè)級應(yīng)用程序大部分采用了客戶機/服務(wù)器(C/S)模式;客戶端機器需要與服務(wù)器進(jìn)行通訊,要操作數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行SQL(Structured Query Language結(jié)構(gòu)化查詢語言)語句以及檢索查詢結(jié)果;在Java中實現(xiàn)這些活動的技術(shù)稱作JDBC。數(shù)據(jù)庫編程示意圖數(shù)據(jù)庫編程示意圖 客戶機客戶機/服務(wù)器服務(wù)器應(yīng)用程序應(yīng)用程序 數(shù)據(jù)庫編程數(shù)據(jù)庫編程JDBC
4、數(shù)據(jù)庫數(shù)據(jù)庫執(zhí)行執(zhí)行 SQL 語句語句檢索查詢結(jié)果檢索查詢結(jié)果 關(guān)于關(guān)于DBMSDBMSDBMS(DataBase Management System)是指數(shù)據(jù)庫管理系統(tǒng);目前DBMS的生產(chǎn)商眾多,產(chǎn)品也不盡相同,如: Oracle公司的Oracle系列; Microsoft公司的Access系列和SQL Server系列; Microsoft公司早期的FoxPro; IBM公司的DB2; Sybase公司的Sybase; 還有自由開源的MySQL等等。這就意味著編程語言要針對不同的DBMS開發(fā)不同版本的應(yīng)用程序,這將是一項非??菰锏墓ぷ鳌DBCODBCODBC(Open DataBase
5、Connectivity)指開放式數(shù)據(jù)庫連接,是由Microsoft公司提供的應(yīng)用程序接口;它負(fù)責(zé)連接各種不同產(chǎn)商和類型的DBMS,然后為各種不同的編程語言提供查詢、插入、修改和刪除數(shù)據(jù)的功能;如同在各種不同的DBMS和各種不同的編程語言之間架設(shè)了一座通用的橋梁。JDBCJDBCJDBC(Java DataBase Connectivity)是由Sun Microsystem公司提供的API(Application Programming Interface應(yīng)用程序編程接口);它為Java應(yīng)用程序提供了一系列的類,使其能夠快速高效地訪問數(shù)據(jù)庫;這些功能是由一系列的類和對象來完成的,我們只需使用
6、相關(guān)的對象,即可完成對數(shù)據(jù)庫的操作。JDBCJDBC工作方式示意圖工作方式示意圖 Java 程序程序 JDBC 驅(qū)動程序驅(qū)動程序數(shù)據(jù)庫數(shù)據(jù)庫SQL 命令命令 結(jié)果結(jié)果 JDBCJDBC驅(qū)動程序類型驅(qū)動程序類型使用JDBC連接數(shù)據(jù)庫可以通過不同的驅(qū)動方式來實現(xiàn),有4種驅(qū)動類型: JDBC-ODBC橋驅(qū)動 純Java驅(qū)動 本地API部分Java驅(qū)動 JDBC網(wǎng)絡(luò)純Java驅(qū)動不論采用哪種驅(qū)動方式,在程序中對數(shù)據(jù)庫的操作方式基本相同,只是加載不同的驅(qū)動程序即可。java.sqljava.sql包包java.sql包也是Java內(nèi)置的包,其中包含了一系列用于與數(shù)據(jù)庫進(jìn)行通信的類和接口;如果要使用到這些
7、類和接口的話,則必須顯式地聲明如下語句:import java.sql.*;java.sqljava.sql包中的一些接口包中的一些接口接口名稱接口名稱說說 明明Connection連接對象,用于與數(shù)據(jù)庫取得連接連接對象,用于與數(shù)據(jù)庫取得連接Driver用于創(chuàng)建連接(用于創(chuàng)建連接(Connection)對象)對象Statement語句對象,用于執(zhí)行語句對象,用于執(zhí)行SQL語句,并將數(shù)據(jù)檢索語句,并將數(shù)據(jù)檢索到結(jié)果集(到結(jié)果集(ResultSet)對象中)對象中PreparedStatement預(yù)編譯語句對象,用于執(zhí)行預(yù)編譯的預(yù)編譯語句對象,用于執(zhí)行預(yù)編譯的SQL語句,語句,執(zhí)行效率比執(zhí)行效率比
8、Statement高高CallableStatement存儲過程語句對象,用于調(diào)用執(zhí)行存儲過程存儲過程語句對象,用于調(diào)用執(zhí)行存儲過程ResultSet結(jié)果集對象,包含執(zhí)行結(jié)果集對象,包含執(zhí)行SQL語句后返回的數(shù)據(jù)語句后返回的數(shù)據(jù)的集合的集合java.sqljava.sql包中的一些類包中的一些類類類 名名 稱稱說說 明明SQLException數(shù)據(jù)庫異常類,是其它數(shù)據(jù)庫異常類,是其它JDBC異常類的根類,繼承異常類的根類,繼承于于java.lang.Exception,絕大部分對數(shù)據(jù)庫進(jìn)行操,絕大部分對數(shù)據(jù)庫進(jìn)行操作的方法都有可能拋出該異常作的方法都有可能拋出該異常DriverManager驅(qū)
9、動程序管理類,用于加載和卸載各種驅(qū)動程序,驅(qū)動程序管理類,用于加載和卸載各種驅(qū)動程序,并建立與數(shù)據(jù)庫的連接并建立與數(shù)據(jù)庫的連接Date該類中包含有將該類中包含有將SQL日期格式轉(zhuǎn)換成日期格式轉(zhuǎn)換成Java日期格日期格式的方法式的方法TimeStamp表示一個時間戳,能精確到納秒表示一個時間戳,能精確到納秒JDBCJDBC程序訪問數(shù)據(jù)庫步驟程序訪問數(shù)據(jù)庫步驟開開 始始導(dǎo)入導(dǎo)入 java.sql包包 加載并注冊驅(qū)動程序加載并注冊驅(qū)動程序創(chuàng)建創(chuàng)建Connection 對象對象創(chuàng)建創(chuàng)建 Statement 對象對象執(zhí)行執(zhí)行SQL語句語句關(guān)閉關(guān)閉ResultSet 對象對象關(guān)閉關(guān)閉Statement對象
10、對象關(guān)閉關(guān)閉Connection對象對象使用使用ResultSet對象對象建立數(shù)據(jù)源(建立數(shù)據(jù)源(ODBC) 附加相應(yīng)產(chǎn)商提供的驅(qū)動附加相應(yīng)產(chǎn)商提供的驅(qū)動 結(jié)結(jié) 束束JDBC-ODBC橋方式橋方式純純Java驅(qū)動方式驅(qū)動方式步驟詳解步驟詳解1 1:建立數(shù)據(jù)源:建立數(shù)據(jù)源這里以JDBC-ODBC橋驅(qū)動方式為例,逐步詳細(xì)地講解在Java程序中如何操作數(shù)據(jù)庫,而對于其它驅(qū)動方式,只需更換驅(qū)動程序即可,其余不變;首先建立ODBC數(shù)據(jù)源:【開始】 【設(shè)置】 【控制面板】【管理工具】【數(shù)據(jù)源(ODBC)】新建數(shù)據(jù)源,名稱可以任意,這里假設(shè)已經(jīng)建立了一個名為myODBC的數(shù)據(jù)源,連接到SQL Server
11、2000中的pubs數(shù)據(jù)庫。步驟詳解步驟詳解2 2:加載驅(qū)動程序:加載驅(qū)動程序使用Class類的forName方法,將驅(qū)動程序類加載到JVM(Java虛擬機)中;對于使用JDBC-ODBC橋的驅(qū)動方式,應(yīng)該加載:sun.jdbc.odbc.JdbcOdbcDriver類如:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);方方 法法 原原 型型說說 明明static Class forName(String className)throws ClassNotFoundException將由將由className指定完整名稱的類指定完整名稱的類加載到加載到J
12、VM中,如果加載失敗,將中,如果加載失敗,將拋出異常,必須捕捉拋出異常,必須捕捉步驟詳解步驟詳解3 3:獲得連接對象:獲得連接對象成功加載驅(qū)動后,必須使用DriverManager類的靜態(tài)方法getConnection來獲得連接對象;對于使用JDBC-ODBC橋的連接方式,連接字符串的一般形式是:“jdbc:odbc:數(shù)據(jù)源名稱”,如:Connection con =DriverManager.getConnection(jdbc:odbc:myODBC, sa, );方方 法法 原原 型型說說 明明static Connection getConnection(String url, Str
13、ing user,String password)throws SQLException參數(shù)參數(shù)url是連接字符串,參數(shù)是連接字符串,參數(shù)user是數(shù)據(jù)庫用戶是數(shù)據(jù)庫用戶名,參數(shù)名,參數(shù)password是登錄口令,成功連接到數(shù)是登錄口令,成功連接到數(shù)據(jù)庫返回?fù)?jù)庫返回Connection對象,連接失敗則拋出對象,連接失敗則拋出SQLException異常,必須捕捉異常,必須捕捉步驟詳解釋步驟詳解釋4 4:創(chuàng)建語句對象:創(chuàng)建語句對象一旦成功連接到數(shù)據(jù)庫,獲得Connection對象后,必須通過Connection對象的createStatement方法來創(chuàng)建語句對象,才可以執(zhí)行SQL語句;如:St
14、atement sta = con.createStatement();方方 法法 原原 型型說說 明明Statement createStatement()throws SQLException成功創(chuàng)建返回成功創(chuàng)建返回Statement對象,對象,否則拋出否則拋出SQLException異常,異常,必須捕捉必須捕捉步驟詳解步驟詳解5 5:執(zhí)行:執(zhí)行SQLSQL語句語句使用語句對象來執(zhí)行SQL語句,有兩種情況:一種是執(zhí)行DELETE、UPDATE和INSERT之類的數(shù)據(jù)庫操作語句(DML),這樣的語句沒有數(shù)據(jù)結(jié)果返回,使用Statement對象的executeUpdate方法執(zhí)行;如:sta.
15、executeUpdate(INSERT INTO Friends VALUES(田七, 重慶, 456712, 2003-2-25, 7500);方方 法法 原原 型型說說 明明int executeUpdate(String sql)throws SQLException參數(shù)參數(shù)sql是要執(zhí)行的是要執(zhí)行的SQL語句,執(zhí)行成功返語句,執(zhí)行成功返回受影響的行數(shù),執(zhí)行失敗則拋出回受影響的行數(shù),執(zhí)行失敗則拋出SQLException異常,必須捕捉異常,必須捕捉步驟詳解步驟詳解5 5:執(zhí)行:執(zhí)行SQLSQL語句(續(xù))語句(續(xù))另一種是執(zhí)行SELECT這樣的數(shù)據(jù)查詢語句(DQL),這樣的語句將從數(shù)據(jù)庫
16、中獲得所需的數(shù)據(jù),使用Statement對象的executeQuery 方法執(zhí)行;如:ResultSet rs =sta.executeQuery(SELECT * FROM Friend);方方 法法 原原 型型說說 明明ResultSet executeQuery(String sql)throws SQLException參數(shù)參數(shù)sql是要執(zhí)行的是要執(zhí)行的SQL語句,查詢成語句,查詢成功返回包含有結(jié)果數(shù)據(jù)的功返回包含有結(jié)果數(shù)據(jù)的ResultSet對對象,否則拋出象,否則拋出SQLException異常,異常,必須捕捉必須捕捉步驟詳解步驟詳解6 6:關(guān)閉資源:關(guān)閉資源當(dāng)對數(shù)據(jù)庫的操作結(jié)束后
17、,應(yīng)當(dāng)將所有已經(jīng)被打開的資源關(guān)閉,否則將會造成資源泄漏;Connection對象、Statement對象和ResultSet對象都有執(zhí)行關(guān)閉的close方法;函數(shù)原型都是:void close() throws SQLException 如:rs.close(); /關(guān)閉ResultSet對象sta.close(); /關(guān)閉Statement對象con.close(); /關(guān)閉Connection對象有可能拋出SQLException異常,必須捕捉;請注意關(guān)閉的順序,最后打開的資源最先關(guān)閉,最先打開的資源最后關(guān)閉。數(shù)據(jù)庫操作示例數(shù)據(jù)庫操作示例import java.sql.*; /導(dǎo)入導(dǎo)入ja
18、va.sql包包public class JDBCDemo public static void main(String args) String strCon = jdbc:odbc:myODBC; /連接字符串連接字符串 String strUser = sa; /數(shù)據(jù)庫用戶名數(shù)據(jù)庫用戶名 String strPwd = ; /口令口令 System.out.println(正在連接數(shù)據(jù)庫正在連接數(shù)據(jù)庫.); try /監(jiān)控異常監(jiān)控異常 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /加載驅(qū)動程序加載驅(qū)動程序 Connection con; /獲
19、得連接對象獲得連接對象 con = DriverManager.getConnection(strCon, strUser, strPwd); System.out.println(成功連接到數(shù)據(jù)庫。成功連接到數(shù)據(jù)庫。); Statement sta = con.createStatement(); /創(chuàng)建語句對象創(chuàng)建語句對象 /執(zhí)行執(zhí)行SQL語句語句 String strSql = DELETE FROM Friends WHERE Name = 鄭六鄭六; int count = sta.executeUpdate(strSql); System.out.println(成功刪除成功刪除
20、+ count + 行數(shù)據(jù)。行數(shù)據(jù)。); sta.close(); con.close(); /關(guān)閉所有已經(jīng)打開的資源關(guān)閉所有已經(jīng)打開的資源 catch (ClassNotFoundException cnfe) cnfe.printStackTrace(); catch (SQLException sqle) sqle.printStackTrace(); 操作結(jié)果集操作結(jié)果集使用Statement對象的executeQuery方法成功執(zhí)行SELECT語句后,將返回一個包含有結(jié)果數(shù)據(jù)的ResultSet對象,要從該對象中獲取數(shù)據(jù),將使用到如下方法:方方 法法 原原 型型說說 明明boolea
21、n next()throws SQLException將結(jié)果集游標(biāo)往下移動一行,如果已經(jīng)到將結(jié)果集游標(biāo)往下移動一行,如果已經(jīng)到達(dá)結(jié)果集最后,將會返回達(dá)結(jié)果集最后,將會返回false,有可能拋,有可能拋異常,必須捕捉異常,必須捕捉X getX(String columnName)throws SQLException獲得某個字段的值,獲得某個字段的值,X是指具體的數(shù)據(jù)類是指具體的數(shù)據(jù)類型,視數(shù)據(jù)庫表中字段的具體情況而定,型,視數(shù)據(jù)庫表中字段的具體情況而定,該方法有一組,并且每個都有兩種重載方該方法有一組,并且每個都有兩種重載方法,一種是以字段名稱為參數(shù),另一種是法,一種是以字段名稱為參數(shù),另一種
22、是以字段索引為參數(shù)(字段索引從以字段索引為參數(shù)(字段索引從1開始),開始),有可能拋異常,必須捕捉有可能拋異常,必須捕捉X getX(int columnIndex)throws SQLException操作結(jié)果集示例操作結(jié)果集示例try String strCon = jdbc:odbc:MyODBC; System.out.println(正在連接數(shù)據(jù)庫正在連接數(shù)據(jù)庫.); Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection con; con = DriverManager.getConnection(strCon, sa, );
23、 System.out.println(成功連接到數(shù)據(jù)庫。成功連接到數(shù)據(jù)庫。); Statement sta = con.createStatement(); ResultSet rs = sta.executeQuery(SELECT * FROM Friends); System.out.println(查詢到數(shù)據(jù)如下:查詢到數(shù)據(jù)如下:); while (rs.next() /循環(huán)將結(jié)果集游標(biāo)往下移動,到達(dá)末尾返回循環(huán)將結(jié)果集游標(biāo)往下移動,到達(dá)末尾返回false /根據(jù)字段名稱獲得各個字段的值根據(jù)字段名稱獲得各個字段的值 System.out.print(rs.getString(Name
24、) + t); /獲得字符串獲得字符串 System.out.print(rs.getString(Address) + t); /獲得字符串獲得字符串 System.out.print(rs.getInt(Telephone) + t); /獲得整數(shù)獲得整數(shù) System.out.print(rs.getDate(HireDate) + t); /獲得日期型數(shù)據(jù)獲得日期型數(shù)據(jù) System.out.println(rs.getFloat(Salary); /獲得浮點型數(shù)據(jù)獲得浮點型數(shù)據(jù) rs.close(); sta.close(); con.close(); catch (ClassNot
25、FoundException cnfe) cnfe.printStackTrace(); catch (SQLException sqle) sqle.printStackTrace(); PreparedStatementPreparedStatement接口接口1 1如果要多次執(zhí)行相似的SQL語句,可以使用PreparedStatemend(預(yù)編譯語句對象)對象來執(zhí)行;通過Connection對象的prepareStatement方法來創(chuàng)建預(yù)編譯語句對象;PreparedStatement對象會將SQL語句預(yù)先編譯,這樣將會獲得比Statement對象更高的執(zhí)行效率。方方 法法 原原 型型
26、說說 明明PreparedStatementprepareStatement(String sql)throws SQLException參數(shù)參數(shù)sql是要執(zhí)行的是要執(zhí)行的SQL語句,根據(jù)指定的語句,根據(jù)指定的SQL語語句創(chuàng)建句創(chuàng)建PrepareStatement對象,有可能拋異常,必對象,有可能拋異常,必須捕捉須捕捉PreparedStatementPreparedStatement接口接口2 2包含在PreparedStatement對象中的SQL語句可以帶有一個或多個參數(shù),使用“?”作為占位符,如:PreparedStatement ps = con.prepareStatement(U
27、PDATE Friends SET Address = ? WHERE Name = ?);在執(zhí)行SQL語句之前,必須使用PreparedStatement對象中的setX方法設(shè)置每個“?”位置的參數(shù)值;如:ps.setString(1, 長沙);ps.setString(2, 王五);方方 法法 原原 型型說說 明明void setX(int parameterIndex, X x)throws SQLException將將parameterIndex指定的指定的“?”位置指定為位置指定為x的的值,這里值,這里X可以指代任意數(shù)據(jù)類型,可以指代任意數(shù)據(jù)類型, “?”的的索引從索引從1開始。開始
28、。PreparedStatementPreparedStatement接口接口3 3設(shè)置好每個參數(shù)的值之后,就可以使用PreparedStatement對象的executeUpdate和executeQuery方法來執(zhí)行SQL語句,這一點和Statement對象很相似:方方 法法 原原 型型說說 明明int executeUpdate()throws SQLException用于執(zhí)行用于執(zhí)行INSERT、DELETE和和UPDATE語語句,執(zhí)行成功返回受影響的行數(shù),否則拋出句,執(zhí)行成功返回受影響的行數(shù),否則拋出SQLException異常,必須捕捉異常,必須捕捉ResultSet execut
29、Query()throws SQLException用于執(zhí)行用于執(zhí)行SELECT語句,執(zhí)行成功返回包含語句,執(zhí)行成功返回包含有結(jié)果數(shù)據(jù)的有結(jié)果數(shù)據(jù)的ResultSet對象,否則拋出對象,否則拋出SQLException異常,必須捕捉異常,必須捕捉PreparedStatementPreparedStatement對象示例對象示例String strCon = jdbc:odbc:MyODBC;System.out.println(正在連接數(shù)據(jù)庫正在連接數(shù)據(jù)庫.);Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con;con = D
30、riverManager.getConnection(strCon, sa, );System.out.println(成功連接到數(shù)據(jù)庫。成功連接到數(shù)據(jù)庫。);PreparedStatement ps;/使用帶參數(shù)的使用帶參數(shù)的SQL語句創(chuàng)建語句創(chuàng)建PreparedStatement對象對象ps = con.prepareStatement(UPDATE Friends SET Address = ? WHERE Name = ?);/設(shè)置設(shè)置SQL語句中的參數(shù)值語句中的參數(shù)值ps.setString(1, 長沙長沙);ps.setString(2, 王五王五);int count = ps.
31、executeUpdate(); /執(zhí)行命令執(zhí)行命令System.out.println(成功更新了成功更新了 + count + 行數(shù)據(jù)。行數(shù)據(jù)。); ps.close(); /關(guān)閉資源關(guān)閉資源con.close();純純JavaJava驅(qū)動方式連接數(shù)據(jù)庫驅(qū)動方式連接數(shù)據(jù)庫使用JDBC-ODBC橋方式連接數(shù)據(jù)庫,其性能完全取決于數(shù)據(jù)源(ODBC)的性能,并且無法脫離Microsoft的平臺,這樣將帶來不便;大部分DBMS產(chǎn)商都為自己的產(chǎn)品開發(fā)了純Java的驅(qū)動程序,我們只需要加載相應(yīng)的驅(qū)動,就可以直接連接到數(shù)據(jù)庫,而無需通過ODBC橋連接;鑒于DBMS產(chǎn)品太多,這里只針對當(dāng)今比較流行的SQL
32、 Server 2000和Oracle 9i進(jìn)行介紹。下載驅(qū)動程序包下載驅(qū)動程序包要使用純Java驅(qū)動,首先必須獲得相應(yīng)數(shù)據(jù)庫的驅(qū)動程序包;根據(jù)數(shù)據(jù)庫的類型,登錄對應(yīng)產(chǎn)商的官方網(wǎng)站,一般都可以免費獲得;下載后,復(fù)制到本地磁盤,并將完整路徑設(shè)置到classpath環(huán)境變量中,如用開發(fā)工具開發(fā)程序,還需在開發(fā)環(huán)境中設(shè)置路徑。純純JavaJava驅(qū)動連接驅(qū)動連接SQL Server2000SQL Server2000使用純Java驅(qū)動連接到SQL Server 2000數(shù)據(jù)庫,加載驅(qū)動程序應(yīng)改成如下語句:Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);連接字符串應(yīng)如下格式:jdbc:microsoft:sqlserver:/服務(wù)器名或IP:1433;databaseName=數(shù)據(jù)庫名如:Connection con = DriverManager.getConnection(jdbc:microsoft:sqlserver:/127.0.0.1:1433;databaseName=pubs, sa, ); 純純JavaJava驅(qū)動連接驅(qū)動連接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2018-2024年中國載貨汽車市場深度評估及投資方向研究報告
- 2025-2030年中國汽車電瓶糟蓋行業(yè)深度研究分析報告
- 教育行業(yè)線上課程開發(fā)與運營規(guī)范
- 共同賣房合同范本
- 農(nóng)業(yè)車輛承包協(xié)議合同范本
- 書采購加工合同范本
- 借用合同與買賣合同范本
- 2025年度建筑工程綠色建材采購勞務(wù)分包合同范本
- 勞動變更合同范例
- 農(nóng)業(yè)耕種合同范本
- 《學(xué)校體育科研方法》課件
- 護(hù)士團(tuán)隊的協(xié)作和領(lǐng)導(dǎo)力培養(yǎng)培訓(xùn)課件
- QFD模板含計算公式計分標(biāo)準(zhǔn)說明模板
- 慢阻肺試題練習(xí)
- 人工智能在生物醫(yī)學(xué)倫理與法律中的基因編輯與生命倫理問題研究
- 饅頭制作過程
- 國有資產(chǎn)管理辦法-國有資產(chǎn)管理辦法條例
- 公務(wù)車輛定點維修車輛保養(yǎng)(附彩圖) 投標(biāo)方案
- 00015-英語二自學(xué)教程-unit3
- 第二章共混改性基本原理
- 乳腺專業(yè)知識課件
評論
0/150
提交評論