第7章JSP中使用數(shù)據(jù)庫_第1頁
第7章JSP中使用數(shù)據(jù)庫_第2頁
第7章JSP中使用數(shù)據(jù)庫_第3頁
第7章JSP中使用數(shù)據(jù)庫_第4頁
第7章JSP中使用數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第7章JSP中的數(shù)據(jù)庫使用、Java網(wǎng)站開發(fā)技術(shù)、第7章JSP中的數(shù)據(jù)庫使用、第7章JSP中的數(shù)據(jù)庫使用、7.1 JDBC技術(shù)概述,幾乎所有應(yīng)用程序都包括數(shù)據(jù)保留。在很多系統(tǒng)中,數(shù)據(jù)庫是生命的核心,作為軟件開發(fā)者,您需要知道如何運(yùn)行和維護(hù)數(shù)據(jù)庫。牙齒章節(jié)首先介紹JDBC的工作原理和四種茄子類型的驅(qū)動(dòng)程序,介紹如何使用JDBC技術(shù)連接到常用數(shù)據(jù)庫(如SQL服務(wù)器、訪問、Oracle等),然后提供在JSP中使用數(shù)據(jù)庫的具體示例。最后介紹了數(shù)據(jù)庫連接池的優(yōu)點(diǎn)和工作原理,并舉例說明。第7章在JSP中使用數(shù)據(jù)庫,7.1.1是JDBC是什么,JDBC是Java數(shù)據(jù)庫連接技術(shù)的縮寫,是負(fù)責(zé)開發(fā)Java Co

2、rporation (Sun Corporation牙齒Java產(chǎn)品)的業(yè)務(wù)單元。JDBC是用于執(zhí)行SQL語句的Java API。由一組用Java編程語言編寫的類和介面組成。牙齒API由java.sql.*和javax.sql.*程序包中的某些類和接口組成,為數(shù)據(jù)庫開發(fā)人員提供標(biāo)準(zhǔn)API,使他們能夠使用純Java API編寫數(shù)據(jù)庫應(yīng)用程序。第7章在JSP中使用數(shù)據(jù)庫的優(yōu)點(diǎn),JDBC的優(yōu)點(diǎn),Java堅(jiān)固、安全、易于使用、易于理解,并且可以從internet自動(dòng)下載。提高可移植性:無需為每個(gè)數(shù)據(jù)庫創(chuàng)建徐璐的其他尋呼機(jī),只需使用JDBC API編寫一個(gè)程序。第7章在JSP中使用數(shù)據(jù)庫、7.1.2層模

3、型和3層模型、第7章在JSP中使用數(shù)據(jù)庫、7.1.3 JDBC車手類型、JDBC-ODBC橋ODBC車手本地API車手JDBC網(wǎng)絡(luò)純Java車手本地協(xié)議純Java車手許多可用的ODBC驅(qū)動(dòng)程序與大量數(shù)據(jù)庫交互,從而減少了開發(fā)人員開發(fā)企業(yè)的麻煩必須預(yù)先向客戶端注冊(cè)O(shè)DBC數(shù)據(jù)源。遠(yuǎn)程客戶端操作非常不方便,平臺(tái)獨(dú)立性很差。適用于企業(yè)號(hào)網(wǎng)絡(luò)或以Java編寫的三層結(jié)構(gòu)的應(yīng)用程序。在第7章JSP中使用數(shù)據(jù)庫、默認(rèn)API車手、標(biāo)準(zhǔn)JDBC調(diào)用轉(zhuǎn)換為指向本地?cái)?shù)據(jù)庫的遠(yuǎn)視車手調(diào)用,然后通過數(shù)據(jù)庫的遠(yuǎn)視驅(qū)動(dòng)程序與數(shù)據(jù)庫進(jìn)行交互。提供比JDBC-ODBC橋更好的性能。失去JDBC平臺(tái)獨(dú)立性的優(yōu)點(diǎn),需要安裝客戶機(jī)的

4、數(shù)據(jù)庫遠(yuǎn)視驅(qū)動(dòng)程序。第7章在JSP中使用數(shù)據(jù)庫,JDBC網(wǎng)絡(luò)純Java車手,JDBC網(wǎng)絡(luò)驅(qū)動(dòng)程序?qū)DBC命令傳遞到中間件,中間件將JDBC調(diào)用請(qǐng)求傳遞到數(shù)據(jù)庫。從數(shù)據(jù)庫返回的結(jié)果集也通過中間件返回到應(yīng)用程序。與平臺(tái)無關(guān),不需要客戶端安裝和管理,非常適合于網(wǎng)絡(luò)應(yīng)用程序。需要處理web建議的安全性、通過防火墻訪問等其他要求。第7章在JSP中使用數(shù)據(jù)庫,本地協(xié)議純Java車手,直接訪問數(shù)據(jù)庫,中間不需要轉(zhuǎn)換或通過其他中間件完成交互。這將是從JDBC訪問數(shù)據(jù)庫的首選方法。因?yàn)樗峁┝薐ava的所有優(yōu)點(diǎn)。,第7章在JSP中使用數(shù)據(jù)庫,比較四個(gè)茄子JDBC車手原理,在第7章JSP中使用數(shù)據(jù)庫,在7.2中

5、使用JDBC,使用JDBC技術(shù)主要包括注冊(cè)和加載驅(qū)動(dòng)器。建立與數(shù)據(jù)庫的連接。關(guān)閉發(fā)送SQL語句處理結(jié)果連接。第7章在JSP中使用數(shù)據(jù)庫,注冊(cè)和加載7.2.1驅(qū)動(dòng)器,加載JDBC車手調(diào)用java.lang.Class.forName()方法,以列出多個(gè)常用數(shù)據(jù)庫車手加載語句格式3360 class . forname()/JDBC-ODBC/使用Oracle的JDBC車手class . forname( com . Microsoft . JDBC . SQL server . SQL server driver );/使用SQL Server的JDBC車手class . forname( co

6、m . IBM . DB2 . JDBC . app . db2driver );/DB2的JDBC車手class . forname(org . gjt . mm . MySQL . driver);/MySql使用JDBC車手,第7章在JSP中使用數(shù)據(jù)庫,設(shè)置7.2.2連接,設(shè)置與數(shù)據(jù)庫的連接的方法是調(diào)用driver manager . get connection(string URL,stringuser),以下代碼為URL牙齒jdbs使用的用戶標(biāo)識(shí)符為oboy,密碼為12j ava:string URL=JDBC : odbc : wombat。connection con=driv

7、er manager . get connection(URL,oboy,12 Java);第7章在JSP中使用數(shù)據(jù)庫,多個(gè)數(shù)據(jù)庫連接語句格式,string URL=JDBC : Microsoft : SQL server :/localhost 33601433;DatabaseName=pubs;Stringuser=sastring password=“”;connection conn=driver manager . get connection(URL、user、password);字符串URL=JDBC : db 2:/localhost 33605000/示例;Stringu

8、ser=adminstring password=;connection conn=driver manager . get connection(URL、user、password);字符串URL=JDBC : MySQL :/localhost/soft forum?user=soft statement stmt=con . create statement();第7章在JSP中使用數(shù)據(jù)庫,Statement界面的主要方法,運(yùn)行resultset execute query(string SQL)/Statement對(duì)象,單個(gè)結(jié)果集intexecute update (sttring)運(yùn)

9、行boolean execute(String SQL)/Statement對(duì)象, 傳回boolean值void close () /Statement關(guān)閉物件int getMaxFieldSize () /取得欄位最大長(zhǎng)度void setMaxFieldSize (int max) /設(shè)定欄位最大長(zhǎng)度intgetma 檢查是否有多個(gè)結(jié)果集,在第7章JSP中使用數(shù)據(jù)庫,在7.2.3.2中創(chuàng)建PreparedStatement對(duì)象,如果需要多次運(yùn)行SQL語句,請(qǐng)?jiān)趧?chuàng)建啟用propert的PreparedStatement對(duì)象時(shí)傳遞徐璐其他參數(shù)值,以便多次運(yùn)行PreparedStatement對(duì)象

10、,從而獲得多個(gè)茄子不同的結(jié)果PreparedStatement對(duì)象是使用Connection的prepareStatement()方法創(chuàng)建的。例如:prepared statement PST mt=conn . preparestatement( insert into EMP(EMP no,ename) values(?);在生成PreparedStatement對(duì)象的字符串中輸入“?”,表示可更改的IN類型參數(shù)。在第7章JSP中,清除數(shù)據(jù)庫、使用PreparedStatement接口的主要方法以及void clear parameters()/prepared statement對(duì)象中的

11、參數(shù)voidsetascistrsboole anx)Void setbyte(Int parameter index,byte x)Void setbytes(Int parameter index,byte x)Void set date(Int parameter index,byte x)object x)resultset execute query()/執(zhí)行PreparedStatement對(duì)象,單個(gè)結(jié)果集int executeUpdate () /執(zhí)行PreparedStatement對(duì)象返回操作的影響參數(shù)x表示“?中設(shè)定的值。到底使用哪個(gè)setXXX()方法?由表示的參數(shù)類型決

12、定。x的類型是java.sql.Types的類型,參數(shù)類型是數(shù)據(jù)庫中的數(shù)據(jù)類型,因此必須確保該類型是相應(yīng)的。一般而言,第7章JSP中的數(shù)據(jù)庫用法、數(shù)據(jù)庫資料類型與Java資料類型的對(duì)應(yīng)關(guān)系、第7章JSP中的數(shù)據(jù)庫用法、使用PreparedStatement范例,以及ST=con.preparestatement,);St.setInt(1,7777);St.setString(2,Adam);第7章在JSP中使用數(shù)據(jù)庫,在7.2.3.3中創(chuàng)建CallableStatement對(duì)象,CallableStatement對(duì)象提供了在數(shù)據(jù)庫中以標(biāo)準(zhǔn)格式調(diào)用存儲(chǔ)過程的方法。CallableStatement是由Connection對(duì)象的方法prepareCall()創(chuàng)建的。其中參數(shù)SQL格式為?是=call,在call之前?“”表示進(jìn)程將返回結(jié)果參數(shù)。方括號(hào)表示內(nèi)容是可選的。不是語法的必要部分。例如:callable statement cstmt=conn . prepare call(call show employees(?);第7章JSP中的數(shù)據(jù)庫用法,CallableStatement接口的主要方法,bytegetbyte(int parameterIndex)/返回序列號(hào)是paramete

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論