![JSP中數(shù)據(jù)庫的使用課件_第1頁](http://file4.renrendoc.com/view/d52e73d17b903c89b34ae63f890bb6af/d52e73d17b903c89b34ae63f890bb6af1.gif)
![JSP中數(shù)據(jù)庫的使用課件_第2頁](http://file4.renrendoc.com/view/d52e73d17b903c89b34ae63f890bb6af/d52e73d17b903c89b34ae63f890bb6af2.gif)
![JSP中數(shù)據(jù)庫的使用課件_第3頁](http://file4.renrendoc.com/view/d52e73d17b903c89b34ae63f890bb6af/d52e73d17b903c89b34ae63f890bb6af3.gif)
![JSP中數(shù)據(jù)庫的使用課件_第4頁](http://file4.renrendoc.com/view/d52e73d17b903c89b34ae63f890bb6af/d52e73d17b903c89b34ae63f890bb6af4.gif)
![JSP中數(shù)據(jù)庫的使用課件_第5頁](http://file4.renrendoc.com/view/d52e73d17b903c89b34ae63f890bb6af/d52e73d17b903c89b34ae63f890bb6af5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第七章JSP中數(shù)據(jù)庫的使用動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)(JSP)數(shù)據(jù)庫應(yīng)用開發(fā)簡(jiǎn)介作為有效的數(shù)據(jù)存儲(chǔ)和組織管理工具,數(shù)據(jù)庫的應(yīng)用日益廣泛目前主流的數(shù)據(jù)庫產(chǎn)品有Oracle、SQLServer、DB2和SyBase等多種。在數(shù)據(jù)庫開發(fā)領(lǐng)域中,有三個(gè)方面需要掌握:SQL語言、ODBC數(shù)據(jù)訪問接口和JDBC數(shù)據(jù)庫訪問接口。SQL語言概述 SQL(StructuredQueryLanguage)是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,是由國際標(biāo)準(zhǔn)組織提出的,各種關(guān)系型數(shù)據(jù)庫都支持SQL指令,Oracle在基本的SQL基礎(chǔ)上進(jìn)行了擴(kuò)充。 SQL集DDL(DataDefinitionLanguage:數(shù)據(jù)定義語言),DML(DataManipulationLanguage:數(shù)據(jù)操作語言)和DCL(DataControlLanguage:數(shù)據(jù)控制語言)于一體。用SQL語言可以實(shí)現(xiàn)數(shù)據(jù)庫生命周期的全部活動(dòng)。
SQL語句有如下的兩大特點(diǎn)(1)SQL是一種類似于英語的語言,很容易理解和書寫。(2)SQL語言是非過程化的語言(第四代語言)。JDBC數(shù)據(jù)訪問接口為支持Java程序的數(shù)據(jù)庫操作功能,Java語言采用了專門Java數(shù)據(jù)庫編程接口(JDBC,JavaDataBaseConnectivity),用于在Java程序中實(shí)現(xiàn)數(shù)據(jù)庫操作功能并簡(jiǎn)化操作過程。JDBC支持基本SQL語句,提供多樣化的數(shù)據(jù)庫連接方式,為各種不同的數(shù)據(jù)庫提供統(tǒng)一的操作界面SQL語句分類SQL分類描述數(shù)據(jù)定義語言(DDL)數(shù)據(jù)定義語言(DDL)用于定義、修改或者刪除數(shù)據(jù)庫對(duì)象,如CreateTable等數(shù)據(jù)查詢語言(DQL)數(shù)據(jù)查詢語句(DataQueryLanguage,DQL)用于對(duì)數(shù)據(jù)進(jìn)行檢索。如最常用的Select語句數(shù)據(jù)操縱語言(DML)數(shù)據(jù)操縱語言(DML)用于訪問、建立或者操縱在數(shù)據(jù)庫中已經(jīng)存在數(shù)據(jù),如Select、Insert、Update和Delete等等。事務(wù)控制語言(TCL)事務(wù)控制語言(TransactControlLanguage)管理DML語句所做的修改,是否保存修改或者放棄修改。如:Commit、Rollback、Savepoint、SetTransaction等命令。數(shù)據(jù)控制語言(DCL)數(shù)據(jù)控制語言(DCL)管理對(duì)數(shù)據(jù)庫內(nèi)對(duì)象的訪問權(quán)限和授予和回收,如Grant、Revoke等等。基本SQL語句基本的SQL語句包括DQL和DML。也就是對(duì)數(shù)據(jù)庫最常用的四大基本操作:查詢(Select)、插入(Insert)、更新(Update)和刪除(Delete)DML的基本格式(1)DELETE指令:刪除數(shù)據(jù)記錄?;菊Z法:DELETEFROM數(shù)據(jù)表WHERE條件例:DELETEfromgradeWHERE數(shù)學(xué)=0功能說明:刪除所有數(shù)學(xué)成績(jī)?yōu)榱愕挠涗?,如果沒有WHERE子句,則刪除所有記錄。(2)UPDATE指令:更新數(shù)據(jù)記錄?;菊Z法:UPDATE數(shù)據(jù)表SET字段值=新值WHERE條件例1:UPDATEgradeSET數(shù)學(xué)=數(shù)學(xué)+10說明:將grade表中所有人的成績(jī)加10分例2:UPDATEgradeSET數(shù)學(xué)=100WHERE姓名like'%敏%'功能說明:將姓名中含有敏的人的數(shù)學(xué)成績(jī)更新為100分INSERTINTO指令功能說明:該語句等價(jià)于:INSERTINTOgrade(學(xué)號(hào),姓名,語文,數(shù)學(xué),英語)VALUES(5678,'周潤發(fā)',70,80,90)(3)INSERTINTO指令:添加數(shù)據(jù)記錄?;靖袷?:INSERTINTO數(shù)據(jù)表VALUES(字段新值)基本格式2:INSERTINTO數(shù)據(jù)表(字段一,字段二,……)VALUES(字段新值)其中關(guān)鍵字兩種格式的區(qū)別是:當(dāng)values含有數(shù)據(jù)庫表所有字段的值,并且順序和數(shù)據(jù)庫字段一致時(shí),就可以省略數(shù)據(jù)庫表后面的字段名稱。例1:INSERTINTOgrade(學(xué)號(hào),姓名,數(shù)學(xué))VALUES(1234,'周潤發(fā)',70)例2:INSERTINTOgradeVALUES(5678,'周潤發(fā)',70,80,90)JDBC的四種類型目前,比較常見的JDBC驅(qū)動(dòng)程序可分為以下4種類型:(1)JDBC-ODBC橋加ODBC驅(qū)動(dòng)程序:JDBC-ODBC橋產(chǎn)品利用ODBC驅(qū)動(dòng)程序提供JDBC訪問。在服務(wù)器上必須可以安裝ODBC驅(qū)動(dòng)程序。(2)本地API:這種類型的驅(qū)動(dòng)程序把客戶機(jī)API上的JDBC調(diào)用轉(zhuǎn)換為Oracle、Sybase、Informix、DB2或其它DBMS的調(diào)用。(3)JDBC網(wǎng)絡(luò)純Java驅(qū)動(dòng)程序:這種驅(qū)動(dòng)程序?qū)DBC轉(zhuǎn)換為與DBMS無關(guān)的網(wǎng)絡(luò)協(xié)議,之后這種協(xié)議又被某個(gè)服務(wù)器轉(zhuǎn)換為一種DBMS協(xié)議。這種網(wǎng)絡(luò)服務(wù)器中間件能夠?qū)⑺募僇ava客戶機(jī)連接到多種不同的數(shù)據(jù)庫上。第3類和第4類驅(qū)動(dòng)程序?qū)⒊蔀镴DBC訪問數(shù)據(jù)庫的首選方法。第1類和第2類驅(qū)動(dòng)程序在直接的純Java驅(qū)動(dòng)程序還沒有上市前會(huì)作為過渡方案來使用。(4)本地協(xié)議純Java驅(qū)動(dòng)程序:這種類型的驅(qū)動(dòng)程序?qū)DBC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡(luò)協(xié)議。這將允許從客戶機(jī)機(jī)器上直接調(diào)用DBMS服務(wù)器,是Intranet訪問的一個(gè)很實(shí)用的解決方法。數(shù)據(jù)驅(qū)動(dòng)程序使用JDBC的第一步是安裝驅(qū)動(dòng)程序。大多數(shù)數(shù)據(jù)庫都有JDBC驅(qū)動(dòng)程序,常用的JDBC驅(qū)動(dòng)程序如圖所示。Driver連接數(shù)據(jù)庫前先要加載驅(qū)動(dòng)程序importjava.sql.*Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);Class.forName(“jdbc.driver_class_name”);com.microsoft.jdbc.sqlserver.SQLServerDriverorg.gjt.mm.mysql.DriverOracle.jdbc.driver.OracleDriverConnection對(duì)象publicstaticConnectiongetConnection(Stringurl,Stringuser,Stringpassword)throwsSQLException建立是建立與數(shù)據(jù)庫之間的連接,也就是創(chuàng)建一個(gè)Connection的實(shí)例。DriverManager類的getConnection()方法將建立數(shù)據(jù)庫的連接:在程序的最后,應(yīng)該關(guān)閉Connection對(duì)象: publicvoidclose()throwsSQLExceptionSQLServer下的URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xxStatement對(duì)象Statement對(duì)象用于將SQL語句發(fā)送到數(shù)據(jù)庫中。存在3種Statement對(duì)象:(1)Statement;(2)PreparedStatement(從Statement繼承而來);(3)CallableStatement(從PreparedStatement繼承而來)。Statement接口Statement接口提供了兩種執(zhí)行SQL語句的常用方法:publicResultSet
executeQuery(String
sql)throwsSQLException用于產(chǎn)生單個(gè)ResultSet的語句,例如SELECT語句。publicint
executeUpdate(String
sql)throwsSQLException用于執(zhí)行INSERT、UPDATE或DELETE語句以及SQLDDL語句,例如CREATETABLE和DROPTABLE。該方法返回一個(gè)整數(shù),指示受影響的行數(shù)。ResultSet對(duì)象ResultSet包含符合SQL語句執(zhí)行結(jié)果所有行,并且它通過一套get方法提供了對(duì)這些行中數(shù)據(jù)的訪問,常用的get方法有:int
getInt(int
columnIndex),取得當(dāng)前行中第columnIndex列的整數(shù)的值。int
getInt(String
columnName),取得當(dāng)前行中列名為columnName的整數(shù)的值。其他方法:getDate(int
columnIndex)getDate(String
columnName)getString(int
columnIndex),getString(String
columnName)ResultSet維護(hù)指向其當(dāng)前數(shù)據(jù)行的光標(biāo),讓光標(biāo)向下移動(dòng)一行的方法是:publicbooleannext()throwsSQLException結(jié)果集類型結(jié)果集類型有3種:ResultSet.TYPE_FORWORD_ONLY:指定ResultSet對(duì)象是不可滾動(dòng),這是默認(rèn)值。ResultSet.TYPE_SCOLL_INSENSITIVE:指定ResultSet對(duì)象是可滾動(dòng)的,但是對(duì)數(shù)據(jù)庫中修改不敏感。ResultSet.TYPE_SCOLL_SENSITIVE:指定ResultSet對(duì)象是可滾動(dòng)的,而且對(duì)數(shù)據(jù)庫的修改敏感。修改對(duì)結(jié)果集的影響類型看到內(nèi)部更新看到內(nèi)部刪除看到內(nèi)部插入看到外部更新看到外部刪除看到外部插入只向前是否否否否否可滾動(dòng)不敏感是是否否
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)藥市場(chǎng)中的品牌競(jìng)爭(zhēng)力分析考核試卷
- 現(xiàn)代物流技術(shù)與產(chǎn)業(yè)人才培養(yǎng)模式
- 物聯(lián)網(wǎng)環(huán)境下的網(wǎng)絡(luò)安全挑戰(zhàn)與對(duì)策
- 公共建筑涂裝技術(shù)考核試卷
- D打印技術(shù)在家具設(shè)計(jì)制造的優(yōu)勢(shì)考核試卷
- 礦山承包合同(2篇)
- 伐區(qū)作業(yè)環(huán)境保護(hù)措施實(shí)施考核試卷
- 娃娃玩具生產(chǎn)設(shè)備選型與優(yōu)化策略分析考核試卷
- 兔子的飼養(yǎng)與心理健康考核試卷
- 孤殘兒童收養(yǎng)案例分析與處理考核試卷
- Unit 2 We're going to do some research(教案)-2023-2024學(xué)年湘少版(三起)英語五年級(jí)下冊(cè)
- 緊密型縣域醫(yī)療衛(wèi)生共同體慢病管理中心運(yùn)行指南試行等15個(gè)指南
- 基金應(yīng)知應(yīng)會(huì)專項(xiàng)考試題庫(證券類190題)附有答案
- 快速入門穿越機(jī)-讓你迅速懂穿越機(jī)
- 水利安全生產(chǎn)風(fēng)險(xiǎn)防控“六項(xiàng)機(jī)制”右江模式經(jīng)驗(yàn)分享
- 幼兒園衛(wèi)生保健開學(xué)培訓(xùn)
- 食材配送服務(wù)售后服務(wù)方案
- 新目標(biāo)(goforit)版初中英語九年級(jí)(全一冊(cè))全冊(cè)教案-unit
- 《如何做一名好教師》課件
- 2016-2023年婁底職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 貴陽市2024年高三年級(jí)適應(yīng)性考試(一)一模英語試卷(含答案)
評(píng)論
0/150
提交評(píng)論