




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JDBC(mysql)數(shù)據(jù)庫(kù)訪問技術(shù),Zhuzx先生,2020/8/1,什么是JDBC?JDBC (Java數(shù)據(jù)庫(kù)連接)是Java和數(shù)據(jù)庫(kù)之間的接口規(guī)范。JDBC定義了一個(gè)支持標(biāo)準(zhǔn)SQL函數(shù)的通用底層應(yīng)用編程接口,并在Java中定義了幾個(gè)類。Mysql Paging :限制2,20或更小子查詢:ROWNUM,2020/8/1,2,JDBC特性,獨(dú)立于特定數(shù)據(jù)庫(kù),支持異構(gòu)硬件平臺(tái)和操作系統(tǒng)。JDBC驅(qū)動(dòng)程序管理器是內(nèi)置的,驅(qū)動(dòng)程序本身可以通過網(wǎng)絡(luò)瀏覽器自動(dòng)下載。不需要在不同的數(shù)據(jù)庫(kù)功能模塊級(jí)別安裝和配置統(tǒng)一的用戶界面,可以實(shí)現(xiàn)不同的數(shù)據(jù)庫(kù)連接。2020/8/1,3,JDBC操作步驟,1。加載驅(qū)動(dòng)
2、程序(注冊(cè)JDBC驅(qū)動(dòng)程序)。2.建立到指定數(shù)據(jù)庫(kù)的連接。獲取連接(網(wǎng)址、用戶名、用戶密碼);3.提交數(shù)據(jù)庫(kù)查詢PreparedStatement ps對(duì)象(CUDE)4。獲取查詢結(jié)果/執(zhí)行查詢并返回結(jié)果集對(duì)象(表中的數(shù)據(jù))。2020/8/1,4,連接。連接對(duì)象表示與數(shù)據(jù)庫(kù)的連接。連接過程包括執(zhí)行的SQL語(yǔ)句和連接上返回的結(jié)果)。獲取連接(網(wǎng)址、用戶名、用戶密碼);2020/8/1/5,打開連接并與數(shù)據(jù)庫(kù)建立連接的標(biāo)準(zhǔn)方法是調(diào)用DriverManager.getConnection方法。示例如下: string driver=org . gjt . mm . MySQL . driver;字符
3、串URL=jdb c : my SQL :/127 . 0 . 0 . 1:3306/JJA 171201。字符串用戶名=根;字符串userpass=123123Class.forName(驅(qū)動(dòng)程序);連接連接器=驅(qū)動(dòng)管理器. getConnection(url、用戶名、用戶密碼);if (conn!=空)系統(tǒng).輸出.打印(連接成功連接);else system . out . println(err);2020/8/1/6,開放連接示例,私有字符串網(wǎng)址=JDBC :微軟: SQL server :/本地主機(jī):1433;DataBaseName=mydb私有字符串用戶名=sa私有字符串密碼=s
4、apublic void testJDBC()嘗試類. FOrname(com . Microsoft . JDBC . SQL server . SqLServerDriver)。NewInstance();/加載驅(qū)動(dòng)程序/driver manager . register driver(newcom . Microsoft . JDBC . SQL server . SQL server driver()的第一個(gè)方法;/第二種方法是注冊(cè)驅(qū)動(dòng)程序。System.out.println(數(shù)據(jù)庫(kù)連接成功);catch(異常e)e . PrintStackTrace();2020/8/1,7,ca
5、se code,*直接使用工具打開數(shù)據(jù)庫(kù)*代碼封裝、阻塞、組件化、成幀和應(yīng)用程序的連接,* author Mr . zhuzx public class utils JDBC/constant static final由字母public static final String driver=org . gjt . mm . MySQL . driver . public static final String URL=JDBC : MySQL 3360/127 . 0 . 0 . 1:3306/JJA171201命名公共靜態(tài)最終字符串USERNAME=根;公共靜態(tài)最終字符串密碼=123123;
6、案例代碼,/* * *開放連接*/公共靜態(tài)連接getconn()connection conn=null;請(qǐng)嘗試class . FOrname(DRIVER);連接(網(wǎng)址、用戶名、密碼);catch(異常e)e . PrintStackTrace();system . out . println(conn : conn);返回控制室;案例代碼,/* * *關(guān)閉連接* *參數(shù)連接*我是需要關(guān)閉的對(duì)象*/公共靜態(tài)無(wú)效colseconn(connectionconn)try conn . close();conn=nullSystem.out.println(conn關(guān)閉.);catch(異常e)e
7、 . PrintStackTrace();JDBCURL,JDBCURL提供了一種識(shí)別數(shù)據(jù)庫(kù)的方法,它使相應(yīng)的驅(qū)動(dòng)程序能夠識(shí)別數(shù)據(jù)庫(kù)并與之建立連接。JDBCURL應(yīng)該允許驅(qū)動(dòng)程序程序員編譯所有需要的信息,而不需要用戶做任何系統(tǒng)管理工作。JDBC網(wǎng)址應(yīng)該允許一定程度的間接性。也就是說,JDBCURL可以指向一個(gè)邏輯主機(jī)或數(shù)據(jù)庫(kù)名稱,這個(gè)邏輯主機(jī)或數(shù)據(jù)庫(kù)名稱將被網(wǎng)絡(luò)命名系統(tǒng)動(dòng)態(tài)地轉(zhuǎn)換成一個(gè)實(shí)際的名稱。2020/8/1,11,JDBCURL的標(biāo)準(zhǔn)語(yǔ)法,JDBC URL的標(biāo)準(zhǔn)語(yǔ)法如下。它由三部分組成,用冒號(hào)分隔:jdbc: jdbc協(xié)議。jdbcURL中的協(xié)議總是JDBC驅(qū)動(dòng)程序或數(shù)據(jù)庫(kù)連接機(jī)制的名稱
8、。一種識(shí)別數(shù)據(jù)庫(kù)的方法,2020年8月1日,12日,JDBC網(wǎng)址示例,JDBC : ORACLE : this :127 . 0 . 0 . 1:152133: edudb JDBC : Microsoft 3360 QL server 3360/localhost :1433 JDBC : Microsoft 3360 QL server 3360/localhost :0數(shù)據(jù)庫(kù)名稱=mydb,2020/8/1,13,發(fā)送SQL語(yǔ)句,JDBC提供了發(fā)送SQL語(yǔ)句的三個(gè)類,語(yǔ)句準(zhǔn)備語(yǔ)句可調(diào)用語(yǔ)句,2020/8/1,14,對(duì)象語(yǔ)句,由連接的createStatement方法創(chuàng)建的語(yǔ)句對(duì)象用于發(fā)送
9、簡(jiǎn)單的SQL語(yǔ)句,2020/8/1/15,對(duì)象準(zhǔn)備語(yǔ)句,由連接的方法創(chuàng)建的準(zhǔn)備語(yǔ)句對(duì)象用于發(fā)送帶有一個(gè)或多個(gè)輸入?yún)?shù)的SQL語(yǔ)句。preparedstatement的實(shí)例擴(kuò)展了語(yǔ)句。因此,它們都包括語(yǔ)句法。PreparedStatement對(duì)象可能比語(yǔ)句對(duì)象更有效,因?yàn)樗呀?jīng)被預(yù)編譯并存儲(chǔ)在那里以供將來(lái)使用。2020年8月16日,對(duì)象CallableStatement由方法prepareCall創(chuàng)建。CallableStatement對(duì)象用于執(zhí)行一組SQL語(yǔ)句,這些語(yǔ)句可以在SQL存儲(chǔ)程序2020/8/1/17事務(wù)中按名稱調(diào)用,該事務(wù)由一個(gè)或多個(gè)已執(zhí)行、已完成、已提交或已恢復(fù)的語(yǔ)句組成。當(dāng)調(diào)用
10、提交或回滾方法時(shí),當(dāng)前事務(wù)結(jié)束,另一個(gè)事務(wù)立即開始。方法提交使SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)所做的任何更改永久化,并且它還將釋放事務(wù)持有的任何更改。回滾方法將丟棄這些更改,2020/8/1/18,事務(wù)隔離級(jí)別。必須有某種方法來(lái)管理兩個(gè)事務(wù)同時(shí)在一個(gè)數(shù)據(jù)庫(kù)上操作時(shí)可能發(fā)生的沖突。五個(gè)隔離級(jí)別:transaction _ none transaction _ read _ uncommitted transaction _ read _ committed transaction _ repeatable _ read transact ION _ SERIALIZATION使用connection . se
11、ttransaction in solution()來(lái)設(shè)置所需的級(jí)別。在2020年8月19日,驅(qū)動(dòng)程序管理器類是JDBC的管理層,用于在用戶和驅(qū)動(dòng)程序之間跟蹤可用的驅(qū)動(dòng)程序。并在數(shù)據(jù)庫(kù)和相應(yīng)的驅(qū)動(dòng)程序之間建立連接。在2020年8月1日,跟蹤可用的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序管理器類包含一個(gè)驅(qū)動(dòng)程序類的列表,這些驅(qū)動(dòng)程序類通過調(diào)用驅(qū)動(dòng)程序管理器.注冊(cè)驅(qū)動(dòng)程序的方法進(jìn)行注冊(cè)。所有的驅(qū)動(dòng)程序類都包含一個(gè)靜態(tài)部分,它創(chuàng)建了這個(gè)類的一個(gè)實(shí)例。然后,當(dāng)加載實(shí)例時(shí),驅(qū)動(dòng)管理器類注冊(cè)加載驅(qū)動(dòng)程序類,然后自動(dòng)以類的方式在驅(qū)動(dòng)管理器中注冊(cè)。2020/8/1,21,在建立連接、加載驅(qū)動(dòng)程序類并注冊(cè)到驅(qū)動(dòng)程序管理器類后,它們可
12、以用來(lái)建立與數(shù)據(jù)庫(kù)的連接。當(dāng)調(diào)用驅(qū)動(dòng)管理器. getConnection方法發(fā)送連接請(qǐng)求時(shí),驅(qū)動(dòng)管理器將檢查每個(gè)驅(qū)動(dòng)程序??纯此芊窠⑦B接。驅(qū)動(dòng)程序管理器將使用第一個(gè)驅(qū)動(dòng)程序類。佛納姆(太陽(yáng)。JDBC。odbc。它發(fā)現(xiàn)可以成功連接到給定的網(wǎng)址。/加載驅(qū)動(dòng)程序字符串網(wǎng)址=JDBC :driver manager . GetConnection(URL、userID、passwd);2020/8/1,22,語(yǔ)句語(yǔ)句,創(chuàng)建語(yǔ)句對(duì)象語(yǔ)句stmt=con. createstatement使用語(yǔ)句對(duì)象執(zhí)行語(yǔ)句執(zhí)行查詢語(yǔ)句執(zhí)行更新用于生成單個(gè)結(jié)果集用于執(zhí)行插入、更新或刪除語(yǔ)句和數(shù)據(jù)定義語(yǔ)言語(yǔ)句在自動(dòng)提交模
13、式下完成連接,在非自動(dòng)提交模式下連接關(guān)閉語(yǔ)句對(duì)象。作為一種好的編程風(fēng)格,您應(yīng)該在不需要時(shí)顯式關(guān)閉語(yǔ)句對(duì)象。2020年8月23日,結(jié)果集被設(shè)置。ResultSet包含所有符合SQL語(yǔ)句條件的行,它提供了一個(gè)通過一組get方法訪問這些行中的數(shù)據(jù)的示例:結(jié)果集=stmt.executeQuery(SELECTa,b,cfromtable 1);而(r . next()inti=r . GetInt(a);字符串=r . GetString(b);float f=r . GetFloat(c);2020/8/1/24,為什么使用連接池,可能會(huì)發(fā)生什么情況:每個(gè)頁(yè)面請(qǐng)求都會(huì)導(dǎo)致數(shù)據(jù)庫(kù)訪問,這不僅會(huì)消耗一定的通信和內(nèi)存資源,還必須完成用戶身份驗(yàn)證和安全上下文配置等任務(wù)。如果基于數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 口罩交易合同范例
- 廠房簡(jiǎn)化改造合同范例
- 再生廢品回收合同范例
- 變頻器維修合同范例
- 醫(yī)療美容合同范例
- 辦公家具租賃合同范本
- 醫(yī)院行政合同范例
- 雙層玻璃購(gòu)銷合同范例
- 勞動(dòng)合同范例外皮
- 勞動(dòng)變更合同范例
- 招聘與錄用(第3版)課件全套 王麗娟 第1-8章 概述、招聘前的理論準(zhǔn)備工作 -錄用與招聘評(píng)估
- 《中國(guó)鐵路北京局集團(tuán)有限公司營(yíng)業(yè)線施工管理實(shí)施細(xì)則》
- 故障診斷技術(shù)的國(guó)內(nèi)外發(fā)展現(xiàn)狀
- 贛美版小學(xué)六年級(jí)上冊(cè)美術(shù)教案(全冊(cè))
- 超長(zhǎng)期特別國(guó)債項(xiàng)目
- 2012年衛(wèi)輝市招聘教師筆試面試成績(jī)花名冊(cè)
- DL∕T 5210.4-2018 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第4部分:熱工儀表及控制裝置
- 大學(xué)與青年發(fā)展智慧樹知到期末考試答案章節(jié)答案2024年華僑大學(xué)
- 北京海淀人大附2025屆高三第四次模擬考試歷史試卷含解析
- 建教幫APP測(cè)試題庫(kù)和答案
- 幽門螺桿菌與胃癌
評(píng)論
0/150
提交評(píng)論