版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
*Java程序設(shè)計(jì)18.1數(shù)據(jù)庫概念數(shù)據(jù)庫是長期存儲在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫按照某種數(shù)據(jù)模型組織、存儲在外存儲器上,且可被多個用戶同時使用。幾乎所有的應(yīng)用程序都需要存放大量的數(shù)據(jù),并將其組織成易于讀取的格式,這種要求可以通過數(shù)據(jù)庫管理系統(tǒng)來實(shí)現(xiàn)。
*Java程序設(shè)計(jì)28.2結(jié)構(gòu)化查詢語言(SQL)
SQL全稱為結(jié)構(gòu)化查詢語言(StructuredQueryLanguage),是一種標(biāo)準(zhǔn)化的數(shù)據(jù)庫查詢語言。雖說它是一種查詢語言,但它的功能卻遠(yuǎn)非查詢這么簡單。數(shù)據(jù)庫操作的方方面面,包括數(shù)據(jù)的定義、增加、修改、刪除以及用戶權(quán)限的設(shè)置都可以用SQL語言來實(shí)現(xiàn)。
*Java程序設(shè)計(jì)38.2.1SELECT語句SELECT(選擇或檢索)語句用于從數(shù)據(jù)庫中選擇滿足條件的記錄⒈
一個簡單的SELECT語句
SELECTName,Sex,BirthFormstudentbook
⒉
添加WHERE子句WHERE子句指明返回?cái)?shù)據(jù)必須滿足的條件
SELECTNo,Name,MajorFromstudentbookWHEREName=”莊靜”
*Java程序設(shè)計(jì)4⒊
多個查詢條件在檢索表行時,WHERE子句可以使用多個字段作為條件,它們之間可以用關(guān)系詞AND、OR連接。SELECTName,sex,birthFromstudentbookWHEREmajor=”計(jì)算機(jī)”
ANDsex=”女”
*Java程序設(shè)計(jì)5⒋
添加ORDERBY子句ORDERBY子句用于指明返回行的排列順序,下面的例子以姓名的順序返回所有的男同學(xué)的記錄信息(學(xué)號、姓名、專業(yè)):SELECTNo,Name,MajorFromstudentbookWHEREsex=”男”O(jiān)RDERBYName*Java程序設(shè)計(jì)68.2.2INSERT語句INSERT語句用于向數(shù)據(jù)庫的某個表中插入新的記錄
⒈
一個簡單的INSERT(插入)語句INSERTINTOstudentbook(no,name,birth)VALUES(‘041201’,‘張學(xué)?!?‘87-2-3’)
⒉
使用SELECT插入查詢所得的記錄
INSERTINTOstudentbook(No,Name,Birth)SELECTNo,Name,BirthFROMstudentbookAWHERENo=’041202’
*Java程序設(shè)計(jì)78.2.3UPDATE語句
UPDATE(更改)語句用于更改數(shù)據(jù)
通過下面的語句我們可以把數(shù)據(jù)庫中學(xué)號為“041201”記錄的性別改為“女”。UPDATEstudentbookSETsex=’女’WHERENo=’041201’
*Java程序設(shè)計(jì)88.2.4DELETE語句DELETE語句用于刪除數(shù)據(jù)表中的指定行
⒈
刪除一個表中的所有值
DELETEFROMstudengbook⒉
刪除一個表中指定的行DELETEFROMstudentbookWHERESex=’男’
*Java程序設(shè)計(jì)98.3JDBC概念
在Java中我們使用JDBC(JavaDataBaseConnectivity,Java數(shù)據(jù)庫互連)來完成應(yīng)用程序與數(shù)據(jù)庫的所有操作。
JDBC是一套類集,可以用來開發(fā)使用Java的客戶/服務(wù)器數(shù)據(jù)庫應(yīng)用程序,它支持SQL工業(yè)標(biāo)準(zhǔn)。JDBC有兩個重要的組件:驅(qū)動程序管理器和JDBC-ODBC橋。
*Java程序設(shè)計(jì)101.驅(qū)動程序管理器
Java應(yīng)用程序的平臺與數(shù)據(jù)庫無關(guān)性是通過驅(qū)動程序管理器實(shí)現(xiàn)的,在開發(fā)應(yīng)用中,需要為每一種數(shù)據(jù)庫格式使用不同的JDBC驅(qū)動程序,有時甚至需要為同一個格式的不同版本使用多個不同的驅(qū)動程序,這些驅(qū)動程序的選擇由驅(qū)動程序管理器完成。2.JDBC-ODBC橋因ODBC驅(qū)動程序由數(shù)據(jù)庫廠商提供,JDBC驅(qū)動程序不能直接作為ODBC的驅(qū)動程序,需使用數(shù)據(jù)廠商提供的JDBC-ODBC橋建立與數(shù)據(jù)庫的聯(lián)系,通過JDBC-ODBC橋,可將JDBC的方法調(diào)用轉(zhuǎn)換成ODBC的函數(shù)調(diào)用,從而實(shí)現(xiàn)JDBC驅(qū)動程序被用作ODBC的驅(qū)動程序。
*Java程序設(shè)計(jì)118.3.1Java數(shù)據(jù)庫連接
Java數(shù)據(jù)庫連接(JDBC)提供了Java程序的數(shù)據(jù)庫編程API(應(yīng)用程序編程接口)。它能夠提供以下功能:(1)與數(shù)據(jù)庫建立連接。(2)向數(shù)據(jù)庫發(fā)送SQL語句。(3)處理數(shù)據(jù)庫返回的結(jié)果。
在JDBC中包含了一組類和接口,用來連接到用任何DBMS(數(shù)據(jù)庫管理系統(tǒng))構(gòu)建的數(shù)據(jù)庫,提交對數(shù)據(jù)庫的SQL查詢,檢索與處理SQL查詢的結(jié)果。
*Java程序設(shè)計(jì)12
JDBCAPI把Java命令轉(zhuǎn)換成為通用的SQL語句。對于特定的數(shù)據(jù)庫問題,每個數(shù)據(jù)庫廠商應(yīng)該提供伴隨數(shù)據(jù)庫的驅(qū)動器。Java應(yīng)用程序調(diào)用JDBCAPI的方法,JDBCAPI使用驅(qū)動器與特定的數(shù)據(jù)庫通信。在JDBC構(gòu)架中,Java應(yīng)用程序通過JDBCAPI提交查詢給JDBC驅(qū)動器。JDBC驅(qū)動器把查詢轉(zhuǎn)換為特定DBMS理解的形式送與DBMS執(zhí)行。JDBC驅(qū)動器同時也檢索SQL查詢結(jié)果,并把它們轉(zhuǎn)換為應(yīng)用使用的等價的JDBCAPI類與對象。
*Java程序設(shè)計(jì)13Microsoft公司提供了一個名叫ODBC(開放式數(shù)據(jù)庫互連)的技術(shù),使Windows應(yīng)用程序能訪問不同的數(shù)據(jù)庫。ODBC中包含了一組與數(shù)據(jù)庫相關(guān)的ODBC驅(qū)動器。按照前面的敘述,好像不需要JDBC,Java應(yīng)用程序使用ODBC就能夠與不同的數(shù)據(jù)庫進(jìn)行通信。但是,因?yàn)镺DBCAPI是用C語言描述的,使用了指針及其他一些Java不支持的構(gòu)造,所以,Java程序不能直接與ODBC驅(qū)動器通信。作為JDBC的一部分,SUN提供了由JDBC訪問ODBC數(shù)據(jù)源的驅(qū)動器——JDBC-ODBC橋接器。
*Java程序設(shè)計(jì)148.3.2創(chuàng)建數(shù)據(jù)源為了同數(shù)據(jù)庫建立連接,首先要配置一個數(shù)據(jù)源。在Windows中配置數(shù)據(jù)源的步驟如下:(1)
打開操作系統(tǒng)中的控制面板,出現(xiàn)如圖8-5所示界面。(2)雙擊ODBC數(shù)據(jù)源,進(jìn)入如圖8-6所示界面。(3)單擊“添加”按鈕,選擇數(shù)據(jù)源驅(qū)動器。如圖8-7所示。(4)單擊“完成”按鈕,出現(xiàn)如圖8-6所示界面,輸入你想要的數(shù)據(jù)源名稱。
*Java程序設(shè)計(jì)15(5)在“數(shù)據(jù)庫”選項(xiàng)中單擊“選擇”按鈕。在如圖8-9所示界面中選取與數(shù)據(jù)源相關(guān)的數(shù)據(jù)庫。
(6)建立完畢,返回到如圖8-13所示界面。如果考慮周全,應(yīng)該為訪問數(shù)據(jù)源設(shè)置一個用戶名和密碼。在圖8-13中選擇“高級”按鈕,設(shè)置用戶名和密碼,如圖8-14所示。(7)確定之后,返回如圖8-6所示界面,在用戶數(shù)據(jù)源中就多了一個我們剛剛定義的名為MydataSource的數(shù)據(jù)源(如圖8-15所示)。通過這個數(shù)據(jù)源,應(yīng)用程序就能訪問ACCESS的數(shù)據(jù)庫stu.mdb。
*Java程序設(shè)計(jì)168.4使用JDBC連接數(shù)據(jù)庫在Java應(yīng)用程序中要使用到對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行操作,首先就要進(jìn)行與數(shù)據(jù)庫的連接。與數(shù)據(jù)庫的連接一般分為兩個步驟:(1)裝入驅(qū)動器:所有的與數(shù)據(jù)庫交互操作都是借助于DBMS特定的驅(qū)動器而發(fā)生的。所以,進(jìn)行數(shù)據(jù)處理之前,需要確定特定DBMS廠商提供的驅(qū)動器并裝入它。(2)連接到數(shù)據(jù)庫:在裝入DBMS特定驅(qū)動器后,就可以連接需要操作的數(shù)據(jù)庫。
*Java程序設(shè)計(jì)178.4.1裝入驅(qū)動器
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
8.4.2連接到數(shù)據(jù)庫
用DriverManger類中的getConnection()方法建立與數(shù)據(jù)庫的連接。getConnection()方法中有三個參數(shù):jdbcurl、用戶名、密碼。其中jdbcurl又包含用冒號分隔的如下三個部分:(1)protocol:為jdbc。(2)subprotocol:為數(shù)據(jù)庫連接機(jī)制名。如果驅(qū)動器為JDBC-ODBC橋接,則此為odbc。(3)subname:為數(shù)據(jù)源名。*Java程序設(shè)計(jì)188.5數(shù)據(jù)庫操作8.5.1向數(shù)據(jù)庫發(fā)送SQL語句在Java中要對數(shù)據(jù)庫進(jìn)行操作,必須把數(shù)據(jù)庫操作的SQL語句發(fā)送給DBMS。對于沒有使用參數(shù)的數(shù)據(jù)庫簡單操作,可以使用Statement對象的executeQuery()方法和excuteUpdate()方法傳送給DBMS。其步驟如下:(1)首先使用已經(jīng)建立好的Connection對象的createStatement()方法來創(chuàng)建一個Statement對象。(2)然后定義一個變量存放要發(fā)送的SQL語句。
*Java程序設(shè)計(jì)198.5.2處理SQL執(zhí)行結(jié)果
1.getString()方法格式:StringgetString(intn);功能:返回結(jié)果集中當(dāng)前行第n列的字符值。2.getInt()方法格式:intgetInt(intn);功能:返回結(jié)果集中當(dāng)前行第n列的數(shù)字值。*Java程序設(shè)計(jì)203.getFloat()方法格式:floatgetFloat(intn);功能:返回結(jié)果集中當(dāng)前行第n列的浮點(diǎn)值。4.getDate()方法格式:DategetDate(intn);功能:返回結(jié)果集中當(dāng)前行第n列的日期時間值。5.next()方法
用來使當(dāng)前行成為它的下一行。
*Java程序設(shè)計(jì)218.5.3處理帶參數(shù)的查詢對數(shù)據(jù)庫數(shù)據(jù)的簡單查詢和更新操作,我們可以通過Statement對象發(fā)送給DBMS進(jìn)行處理。但在很多應(yīng)用中,要查詢的內(nèi)容或更新的內(nèi)容是運(yùn)行時由用戶輸入來確定的。此時,在編寫應(yīng)用程序時,就不能確定SQL語句中有些項(xiàng)的值。像這樣的查詢,Java提供了一個PreparedStatement對象來處理。
*Java程序設(shè)計(jì)22用Connection對象的PrepareStatement()方法
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年杭州市上城區(qū)望江街道社區(qū)衛(wèi)生服務(wù)中心編外招聘備考題庫及答案詳解1套
- 囊謙縣人民醫(yī)院2025年面向社會公開招聘編外聘用工作人員的招聘備考題庫及參考答案詳解一套
- 2026年泰州職業(yè)技術(shù)學(xué)院“銀發(fā)教師”長期招募備考題庫及答案詳解1套
- 2026年鹽城經(jīng)濟(jì)技術(shù)開發(fā)區(qū)公開招聘基層醫(yī)療機(jī)構(gòu)專業(yè)技術(shù)人員6人備考題庫及答案詳解參考
- 2026年昭通市第三人民醫(yī)院總務(wù)科綜合崗位招聘備考題庫及一套答案詳解
- 保密及知識產(chǎn)權(quán)保護(hù)制度
- 2026年重慶市北碚區(qū)東陽街道辦事處非在編人員招聘備考題庫及完整答案詳解1套
- 2026年茅嶺鎮(zhèn)衛(wèi)生院招聘備考題庫含答案詳解
- 2026年順德區(qū)杏壇鎮(zhèn)林文恩中學(xué)招聘化學(xué)、英語臨聘教師備考題庫有答案詳解
- 中學(xué)校園安全應(yīng)急處理制度
- 黑龍江省哈爾濱市師范大學(xué)附中2026屆數(shù)學(xué)高三第一學(xué)期期末質(zhì)量檢測模擬試題含解析
- DB31T+1661-2025公共區(qū)域電子屏播控安全管理要求
- 醫(yī)療聯(lián)合體兒童保健服務(wù)模式創(chuàng)新
- 2025版中國胃癌保功能手術(shù)外科專家共識課件
- 2026年書記員考試題庫附答案
- 中國高尿酸血癥與痛風(fēng)診療指南(2024更新版)課件
- TGXAS-火龍果品質(zhì)評價技術(shù)規(guī)范編制說明
- (2025)70周歲以上老年人換長久駕照三力測試題庫(含答案)3
- 口腔科門診主任年度工作匯報(bào)
- 2025至2030中國專用車行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃報(bào)告
- DB13∕T 6066.3-2025 國資數(shù)智化 第3部分:數(shù)據(jù)治理規(guī)范
評論
0/150
提交評論