版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴陽道路施工方案(3篇)
- 細(xì)胞的增殖課件2025-2026學(xué)年高一上學(xué)期生物人教版必修1
- 2026山東事業(yè)單位統(tǒng)考東營(yíng)市廣饒縣招聘考試備考題庫及答案解析
- 2026廣西南寧市橫州市總工會(huì)招聘社會(huì)化工會(huì)工作者8人備考考試試題及答案解析
- 2026臺(tái)州市水利水電勘測(cè)設(shè)計(jì)院有限公司招聘參考考試題庫及答案解析
- 2026年濟(jì)寧微山縣事業(yè)單位公開招聘初級(jí)綜合類崗位人員(45人)備考考試試題及答案解析
- 2026河南許昌煙草機(jī)械有限責(zé)任公司招聘38人考試參考試題及答案解析
- 2026綿陽農(nóng)商銀行寒假實(shí)習(xí)生招聘?jìng)淇伎荚囶}庫及答案解析
- 2026年聊城市第二人民醫(yī)院“水城優(yōu)才”青年人才引進(jìn)參考考試題庫及答案解析
- 2026山東大學(xué)齊魯?shù)诙t(yī)院北院區(qū)綜合服務(wù)中心結(jié)算崗位(勞務(wù)派遣)補(bǔ)充招聘參考考試題庫及答案解析
- 2025-2026學(xué)年天津市河?xùn)|區(qū)八年級(jí)(上)期末英語試卷
- 規(guī)范外賣企業(yè)管理制度
- 2026年公共部門人力資源管理試題含答案
- 2026年中國(guó)數(shù)聯(lián)物流備考題庫有限公司招聘?jìng)淇碱}庫有答案詳解
- 2025年大學(xué)醫(yī)學(xué)(人體解剖學(xué))試題及答案
- DB32/T+5311-2025+港口與道路工程+固化土施工技術(shù)規(guī)范
- 2025年河南農(nóng)業(yè)大學(xué)輔導(dǎo)員考試真題
- 2025鄭州餐飲行業(yè)市場(chǎng)深度調(diào)研及發(fā)展前景與投資前景研究報(bào)告
- 早產(chǎn)的臨床診斷與治療指南(2025年)
- 2025年黑龍江省大慶市檢察官逐級(jí)遴選筆試題目及答案
- JBP計(jì)劃培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論