




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、JDBC(mysql)數(shù)據(jù)庫訪問技術(shù),Zhuzx先生,2020/8/1,什么是JDBC?JDBC (Java數(shù)據(jù)庫連接)是Java和數(shù)據(jù)庫之間的接口規(guī)范。JDBC定義了一個支持標準SQL函數(shù)的通用底層應(yīng)用編程接口,并在Java中定義了幾個類。Mysql Paging :限制2,20或更小子查詢:ROWNUM,2020/8/1,2,JDBC特性,獨立于特定數(shù)據(jù)庫,支持異構(gòu)硬件平臺和操作系統(tǒng)。JDBC驅(qū)動程序管理器是內(nèi)置的,驅(qū)動程序本身可以通過網(wǎng)絡(luò)瀏覽器自動下載。不需要在不同的數(shù)據(jù)庫功能模塊級別安裝和配置統(tǒng)一的用戶界面,可以實現(xiàn)不同的數(shù)據(jù)庫連接。2020/8/1,3,JDBC操作步驟,1。加載驅(qū)動
2、程序(注冊JDBC驅(qū)動程序)。2.建立到指定數(shù)據(jù)庫的連接。獲取連接(網(wǎng)址、用戶名、用戶密碼);3.提交數(shù)據(jù)庫查詢PreparedStatement ps對象(CUDE)4。獲取查詢結(jié)果/執(zhí)行查詢并返回結(jié)果集對象(表中的數(shù)據(jù))。2020/8/1,4,連接。連接對象表示與數(shù)據(jù)庫的連接。連接過程包括執(zhí)行的SQL語句和連接上返回的結(jié)果)。獲取連接(網(wǎng)址、用戶名、用戶密碼);2020/8/1/5,打開連接并與數(shù)據(jù)庫建立連接的標準方法是調(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ū)動程序);連接連接器=驅(qū)動管理器. getConnection(url、用戶名、用戶密碼);if (conn!=空)系統(tǒng).輸出.打印(連接成功連接);else system . out . println(err);2020/8/1/6,開放連接示例,私有字符串網(wǎng)址=JDBC :微軟: SQL server :/本地主機:1433;DataBaseName=mydb私有字符串用戶名=sa私有字符串密碼=s
4、apublic void testJDBC()嘗試類. FOrname(com . Microsoft . JDBC . SQL server . SqLServerDriver)。NewInstance();/加載驅(qū)動程序/driver manager . register driver(newcom . Microsoft . JDBC . SQL server . SQL server driver()的第一個方法;/第二種方法是注冊驅(qū)動程序。System.out.println(數(shù)據(jù)庫連接成功);catch(異常e)e . PrintStackTrace();2020/8/1,7,ca
5、se code,*直接使用工具打開數(shù)據(jù)庫*代碼封裝、阻塞、組件化、成幀和應(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;請嘗試class . FOrname(DRIVER);連接(網(wǎng)址、用戶名、密碼);catch(異常e)e . PrintStackTrace();system . out . println(conn : conn);返回控制室;案例代碼,/* * *關(guān)閉連接* *參數(shù)連接*我是需要關(guān)閉的對象*/公共靜態(tài)無效colseconn(connectionconn)try conn . close();conn=nullSystem.out.println(conn關(guān)閉.);catch(異常e)e
7、 . PrintStackTrace();JDBCURL,JDBCURL提供了一種識別數(shù)據(jù)庫的方法,它使相應(yīng)的驅(qū)動程序能夠識別數(shù)據(jù)庫并與之建立連接。JDBCURL應(yīng)該允許驅(qū)動程序程序員編譯所有需要的信息,而不需要用戶做任何系統(tǒng)管理工作。JDBC網(wǎng)址應(yīng)該允許一定程度的間接性。也就是說,JDBCURL可以指向一個邏輯主機或數(shù)據(jù)庫名稱,這個邏輯主機或數(shù)據(jù)庫名稱將被網(wǎng)絡(luò)命名系統(tǒng)動態(tài)地轉(zhuǎn)換成一個實際的名稱。2020/8/1,11,JDBCURL的標準語法,JDBC URL的標準語法如下。它由三部分組成,用冒號分隔:jdbc: jdbc協(xié)議。jdbcURL中的協(xié)議總是JDBC驅(qū)動程序或數(shù)據(jù)庫連接機制的名稱
8、。一種識別數(shù)據(jù)庫的方法,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ù)庫名稱=mydb,2020/8/1,13,發(fā)送SQL語句,JDBC提供了發(fā)送SQL語句的三個類,語句準備語句可調(diào)用語句,2020/8/1,14,對象語句,由連接的createStatement方法創(chuàng)建的語句對象用于發(fā)送
9、簡單的SQL語句,2020/8/1/15,對象準備語句,由連接的方法創(chuàng)建的準備語句對象用于發(fā)送帶有一個或多個輸入?yún)?shù)的SQL語句。preparedstatement的實例擴展了語句。因此,它們都包括語句法。PreparedStatement對象可能比語句對象更有效,因為它已經(jīng)被預(yù)編譯并存儲在那里以供將來使用。2020年8月16日,對象CallableStatement由方法prepareCall創(chuàng)建。CallableStatement對象用于執(zhí)行一組SQL語句,這些語句可以在SQL存儲程序2020/8/1/17事務(wù)中按名稱調(diào)用,該事務(wù)由一個或多個已執(zhí)行、已完成、已提交或已恢復(fù)的語句組成。當調(diào)用
10、提交或回滾方法時,當前事務(wù)結(jié)束,另一個事務(wù)立即開始。方法提交使SQL語句對數(shù)據(jù)庫所做的任何更改永久化,并且它還將釋放事務(wù)持有的任何更改。回滾方法將丟棄這些更改,2020/8/1/18,事務(wù)隔離級別。必須有某種方法來管理兩個事務(wù)同時在一個數(shù)據(jù)庫上操作時可能發(fā)生的沖突。五個隔離級別:transaction _ none transaction _ read _ uncommitted transaction _ read _ committed transaction _ repeatable _ read transact ION _ SERIALIZATION使用connection . se
11、ttransaction in solution()來設(shè)置所需的級別。在2020年8月19日,驅(qū)動程序管理器類是JDBC的管理層,用于在用戶和驅(qū)動程序之間跟蹤可用的驅(qū)動程序。并在數(shù)據(jù)庫和相應(yīng)的驅(qū)動程序之間建立連接。在2020年8月1日,跟蹤可用的驅(qū)動程序,驅(qū)動程序管理器類包含一個驅(qū)動程序類的列表,這些驅(qū)動程序類通過調(diào)用驅(qū)動程序管理器.注冊驅(qū)動程序的方法進行注冊。所有的驅(qū)動程序類都包含一個靜態(tài)部分,它創(chuàng)建了這個類的一個實例。然后,當加載實例時,驅(qū)動管理器類注冊加載驅(qū)動程序類,然后自動以類的方式在驅(qū)動管理器中注冊。2020/8/1,21,在建立連接、加載驅(qū)動程序類并注冊到驅(qū)動程序管理器類后,它們可
12、以用來建立與數(shù)據(jù)庫的連接。當調(diào)用驅(qū)動管理器. getConnection方法發(fā)送連接請求時,驅(qū)動管理器將檢查每個驅(qū)動程序。看看它能否建立連接。驅(qū)動程序管理器將使用第一個驅(qū)動程序類。佛納姆(太陽。JDBC。odbc。它發(fā)現(xiàn)可以成功連接到給定的網(wǎng)址。/加載驅(qū)動程序字符串網(wǎng)址=JDBC :driver manager . GetConnection(URL、userID、passwd);2020/8/1,22,語句語句,創(chuàng)建語句對象語句stmt=con. createstatement使用語句對象執(zhí)行語句執(zhí)行查詢語句執(zhí)行更新用于生成單個結(jié)果集用于執(zhí)行插入、更新或刪除語句和數(shù)據(jù)定義語言語句在自動提交模
13、式下完成連接,在非自動提交模式下連接關(guān)閉語句對象。作為一種好的編程風格,您應(yīng)該在不需要時顯式關(guān)閉語句對象。2020年8月23日,結(jié)果集被設(shè)置。ResultSet包含所有符合SQL語句條件的行,它提供了一個通過一組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,為什么使用連接池,可能會發(fā)生什么情況:每個頁面請求都會導(dǎo)致數(shù)據(jù)庫訪問,這不僅會消耗一定的通信和內(nèi)存資源,還必須完成用戶身份驗證和安全上下文配置等任務(wù)。如果基于數(shù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同期內(nèi)員工單方面解除勞動合同的賠償問題
- 《項目管理流程優(yōu)化》課件
- 天津藝術(shù)職業(yè)學院《影視音樂欣賞》2023-2024學年第二學期期末試卷
- 2025授權(quán)貸款借款合同協(xié)議
- 2025機械設(shè)備采購合同書模板
- 2025至2031年中國健美繃褲行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國不銹軸承圓鋼行業(yè)投資前景及策略咨詢研究報告
- 2025監(jiān)理工程師《合同管理》模擬訓練
- 鐵路土石清運施工方案
- 2025至2030年中國鹽漬海帶絲數(shù)據(jù)監(jiān)測研究報告
- 2024-2024年上海市高考英語試題及答案
- IEC603645523電線電纜載流量行業(yè)資料國內(nèi)外標準規(guī)范
- 關(guān)于電商平臺對入駐經(jīng)營者的審核要求或規(guī)范文件
- 骨優(yōu)導(dǎo)介紹PPT
- 道場迎請亡魂開五方科儀
- 畢業(yè)設(shè)計(論文)-四自由度工業(yè)機械手的設(shè)計
- 八下數(shù)學19.1.1-第1課時-常量與變量ppt課件
- 用Polyphen2和SIFT進行突變預(yù)測
- 考生體檢誠信承諾書 - fjnueducn
- 變電站混凝土道路施工工藝#流程圖
- 圖紙會審模板范本
評論
0/150
提交評論