JS中用JDBC訪問數(shù)據(jù)庫_第1頁
JS中用JDBC訪問數(shù)據(jù)庫_第2頁
JS中用JDBC訪問數(shù)據(jù)庫_第3頁
JS中用JDBC訪問數(shù)據(jù)庫_第4頁
JS中用JDBC訪問數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

學(xué)習(xí)內(nèi)容:了解JDBC數(shù)據(jù)庫訪問技術(shù)和JDBC的常用接口掌握J(rèn)DBC數(shù)據(jù)庫驅(qū)動程序的獲取和安裝掌握使用JDBC訪問數(shù)據(jù)庫的方法掌握J(rèn)SP、Servlet、JavaBean中數(shù)據(jù)庫的連接和操作理解連接池和數(shù)據(jù)源的概念掌握連接池典型編程方法第7單元用JDBC訪問數(shù)據(jù)庫JDBC概述用JDBC訪問數(shù)據(jù)庫DAO與數(shù)據(jù)庫連接池什么是JDBCJDBC是Java數(shù)據(jù)庫連接(JavaDataBaseConnectivity)技術(shù)的簡稱,由一組用Java語言編寫的類和接口組成。JDBC是一組獨立于特定數(shù)據(jù)庫管理系統(tǒng)的、通用的SQL數(shù)據(jù)庫存取和操作的公共接口(在java.sql和javax.sql包中)。JDBCTM本身是個商標(biāo)名而不是一個縮寫字;JDBC由JavaSoft公司(Sun公司負(fù)責(zé)開發(fā)Java產(chǎn)品的業(yè)務(wù)單位)同數(shù)據(jù)庫及數(shù)據(jù)庫工具廠家一起建立的獨立于DBMS的機制;JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,使他們能夠用純JavaAPI來編寫數(shù)據(jù)庫應(yīng)用程序。JDBC的設(shè)計目標(biāo):JDBC是一種規(guī)范,最主要的設(shè)計目的是讓各個數(shù)據(jù)庫開發(fā)商為Java程序員提供標(biāo)準(zhǔn)的數(shù)據(jù)庫訪問的類和接口;不必在不同的系統(tǒng)平臺下編寫不同的數(shù)據(jù)庫應(yīng)用程序。對不同DBMS管理的數(shù)據(jù)進(jìn)行一致的操作,而不必關(guān)心其存儲格式;可以使用Java語言來編寫完整的數(shù)據(jù)庫方面的應(yīng)用程序。JDBC的優(yōu)缺點JDBC的優(yōu)點:可移植性強:JDBC支持多種關(guān)系型數(shù)據(jù)庫,只需用JDBCAPI編寫一個程序即可訪問不同的數(shù)據(jù)庫;JDBC使程序員不關(guān)注驅(qū)動程序的編寫,完全專著業(yè)務(wù)邏輯的開發(fā)??梢杂肑DBC-ODBC橋驅(qū)動器將JDBC函數(shù)調(diào)用轉(zhuǎn)換為ODBC;JDBC接口是面向?qū)ο蟮?開發(fā)人員可以將常用的方法進(jìn)行二次封裝,從而提高代碼的重用性。JDBC缺點:通過JDBC訪問數(shù)據(jù)庫時,實際的操作速度會降低。雖然JDBC編程接口是面向?qū)ο蟮?,但通過JDBC訪問數(shù)據(jù)庫仍然是面向關(guān)系的。JDBC提供了對不同廠家的數(shù)據(jù)庫產(chǎn)品的支持,這樣對數(shù)據(jù)源的操作有所影響。與ODBC相比,JDBC沒有定制的"數(shù)據(jù)源"的概念,而是直接在應(yīng)用程序中加載驅(qū)動程序并連接特定的數(shù)據(jù)庫。ODBC體系結(jié)構(gòu)ODBC(開放數(shù)據(jù)庫互連):微軟為實現(xiàn)異構(gòu)數(shù)據(jù)庫互連而推出的一種標(biāo)準(zhǔn),它是一個單一的、公共的編程接口。ODBC的體系結(jié)構(gòu)含有四個部件:應(yīng)用程序Application:執(zhí)行ODBC函數(shù)調(diào)用和處理,提交SQL語句并檢索結(jié)果。驅(qū)動程序管理器DriverManager:為應(yīng)用程序裝載驅(qū)動程序。驅(qū)動程序Driver接口:實現(xiàn)ODBC函數(shù)調(diào)用和同數(shù)據(jù)源交互作用的動態(tài)連接庫,執(zhí)行ODBC函數(shù)調(diào)用提交SQL請求到指定的數(shù)據(jù)源,并把結(jié)果返回給應(yīng)用程序。需要時,驅(qū)動程序也可改變應(yīng)用程序請求,以和特定DBMS的語法匹配。數(shù)據(jù)源DataSource:由需要交互的數(shù)據(jù)和與之相連的OS、DBMS及存取DBMS的網(wǎng)絡(luò)平臺組成。JDBC體系結(jié)構(gòu)JDBC接口(API)也包括兩個層次(與ODBC相類似):面向應(yīng)用的API(JavaAPI抽象接口):供應(yīng)用程序開發(fā)人員使用包括:連接數(shù)據(jù)庫、執(zhí)行SQL語句、獲得結(jié)果面向數(shù)據(jù)庫的API(javaDriverAPI):供數(shù)據(jù)庫廠商實現(xiàn)相應(yīng)的數(shù)據(jù)庫驅(qū)動程序(驅(qū)動程序是實現(xiàn)了java.sql.Driver接口的類)。加載某個數(shù)據(jù)庫驅(qū)動程序類時,將創(chuàng)建相應(yīng)的實例并向java.sql.DriverManage類注冊該對象。其執(zhí)行過程如下:JDBC驅(qū)動程序的類型JavaSoft定義了四種JDBC驅(qū)動程序的基本類型。建議使用:JDBC-ODBC橋驅(qū)動程序,數(shù)據(jù)庫協(xié)議驅(qū)動程序;不建議使用:網(wǎng)絡(luò)協(xié)議驅(qū)動程序,本地Java驅(qū)動程序。數(shù)據(jù)庫協(xié)議驅(qū)動程序:驅(qū)動程序用于與數(shù)據(jù)庫客戶端API進(jìn)行通信(代替JDBC-ODBC橋)性能會比橋略好,是一種低成本數(shù)據(jù)庫解決方案,許多廠商將該類驅(qū)動程序捆綁在其產(chǎn)品中。JDBC-ODBC橋驅(qū)動程序:將JDBC翻譯成ODBC后,再用ODBC驅(qū)動程序與數(shù)據(jù)庫通信。僅用于:有ODBC驅(qū)動程序但沒有提供JDBC驅(qū)動程序的數(shù)據(jù)庫系統(tǒng);或已使用ODBC的低成本數(shù)據(jù)庫解決方案。純Java類庫的驅(qū)動程序網(wǎng)絡(luò)協(xié)議驅(qū)動程序:將JDBC命令轉(zhuǎn)換為與數(shù)據(jù)庫系統(tǒng)無關(guān)的網(wǎng)絡(luò)協(xié)議,并發(fā)送給一個中間件服務(wù)器。中間件服務(wù)器再將該網(wǎng)絡(luò)協(xié)議,轉(zhuǎn)換為特定數(shù)據(jù)庫系統(tǒng)的協(xié)議,并發(fā)送給數(shù)據(jù)庫系統(tǒng)。從數(shù)據(jù)庫系統(tǒng)獲得的結(jié)果,先發(fā)送給中間件服務(wù)器,并進(jìn)而返回給應(yīng)用程序。本地Java驅(qū)動程序:純Java的驅(qū)動程序,直接與特定的數(shù)據(jù)庫系統(tǒng)通信;即驅(qū)動程序?qū)DBC請求直接翻譯成特定DBMS協(xié)議。優(yōu)點:沒有中間的轉(zhuǎn)換或者是中間件。通常用于提高數(shù)據(jù)庫訪問的性能。JDBC的主要功能JDBCAPI多集中在java.sql包中,按功能可分為6類:管理連接數(shù)據(jù)源:DriverManager,Driver,Connection發(fā)送SQL語句:Statement,PreparedSatement,CallableStatement獲取查詢的結(jié)果集:ResultSet用于匹配SQL數(shù)據(jù)類型與Java數(shù)據(jù)類型用于獲取數(shù)據(jù)庫元數(shù)據(jù):DatabaseMetaData提供了異常處理功能:SQLExceptionJDBC的主要使用步驟使用JDBC技術(shù)的主要步驟為:1)注冊或加載JDBC驅(qū)動程序;2)建立與數(shù)據(jù)庫的連接;3)發(fā)送SQL語句;4)處理返回結(jié)果;5)關(guān)閉相關(guān)連接。與上述操作相關(guān)的類或接口:Java.sql.DriverManager:用來裝載驅(qū)動程序,并且為創(chuàng)建新的數(shù)據(jù)庫聯(lián)接提供支持。Java.sql.Connection:完成對某一指定數(shù)據(jù)庫的聯(lián)接Java.sql.Statement:在一個給定的連接中作為SQL執(zhí)行聲明的容器,他包含了兩個重要的子類型。Java.sql.PreparedSatement:用于執(zhí)行預(yù)編譯的sql聲明Java.sql.CallableStatement:用于執(zhí)行數(shù)據(jù)庫中存儲過程的調(diào)用Java.sql.ResultSet:對于給定聲明取得結(jié)果的途徑注冊和加載驅(qū)動器1.加載連接數(shù)據(jù)庫的驅(qū)動程序類任何一種數(shù)據(jù)庫驅(qū)動程序都要提供一個實現(xiàn)java.sql.Driver接口的驅(qū)動類,在加載數(shù)據(jù)庫驅(qū)動類時,創(chuàng)建相應(yīng)的實例對象并向java.sql.DriverManage類注冊該實例對象。將JDBC加到BuildPath:為程序加載驅(qū)動器類:一般用Class.forName()方法顯式地加載一個驅(qū)動程序類,由驅(qū)動程序負(fù)責(zé)向DriverManager注冊;新加載的驅(qū)動類都通過調(diào)用DriverManager類中的registerDriver()方法進(jìn)行自動注冊。獲取與數(shù)據(jù)庫的連接2.創(chuàng)建與數(shù)據(jù)源的連接:數(shù)據(jù)源的URL:jdbc:<subprotocal>:[databaselocator]其中:jdbc要使用JDBC;Subprotocal驅(qū)動程序類型databaselocator:網(wǎng)絡(luò)數(shù)據(jù)庫的主機名、端口和數(shù)據(jù)庫名等獲取數(shù)據(jù)庫連接的元數(shù)據(jù)通過java.sql.DatabaseMetaData接口可獲得數(shù)據(jù)庫的整體綜合信息典型數(shù)據(jù)庫驅(qū)動程序數(shù)據(jù)庫連接字符串驅(qū)動類名MySqljdbc:mysql://localhost:3306/dbnamecom.mysql.jdbc.DriverMSSql2000jdbc:microsoft:sqlserver://localhost:1433;databaseName=數(shù)據(jù)庫名com.microsoft.jdbc.sqlserver.SQLServerDriverMSSql2005jdbc:sqlserver://localhost:1433;databaseName=數(shù)據(jù)庫名com.microsoft.sqlserver.jdbc.SQLServerDriverOracle10gjdbc:oracle:thin:@localhost:1521:數(shù)據(jù)庫服務(wù)名oracle.jdbc.driver.OracleDriverDB2jdbc:db2://localhost:6789/.DB2DriverSybasejdbc:sybase:Tds:localhost:5007/數(shù)據(jù)庫名com.sybase.jdbc.SybDriverPointBasejdbc:pointbase://localhost:9092/數(shù)據(jù)庫名com.pointbase.jdbc.jdbcDataSourceJDBC-ODBC橋jdbc:odbc:數(shù)據(jù)庫名sun.jdbc.odbc.JdbcOdbcDriver使用JDBC-ODBC橋連接數(shù)據(jù)庫創(chuàng)建ODBC連接:打開ODBC數(shù)據(jù)源管理器,增加新的數(shù)據(jù)源。編寫程序小結(jié)JD勺BC是一什個獨宣立于死特定慕數(shù)據(jù)猴庫管皆理系襲統(tǒng)的砌、通痰用的SQ吊L數(shù)據(jù)騙庫存界取和狠操作拼的公摟共接分口;JD絲式BC定義納了用兇于訪象問數(shù)之據(jù)庫攏的標(biāo)嘆準(zhǔn)Ja抗va類庫,使用洪這個苦類庫牽可以喂以一嚷種標(biāo)月準(zhǔn)的駝方法漁、方由便地符訪問鼓數(shù)據(jù)尸庫資育源,象OD吧BC一樣藍(lán),JD撿BC對開甲發(fā)者慨屏蔽弟了一螞些細(xì)由節(jié)問夠題。JD片BC使應(yīng)者用程討序開綱發(fā)人賭員使須用JD失BC可以仙連接堤任何沖提供崖了JD掙BC驅(qū)動詢程序辯的數(shù)對據(jù)庫餓系統(tǒng),這樣蒸就使西得程除序員深無需連對特竄定的阿數(shù)據(jù)織庫系思統(tǒng)的臟特點歡有過值多的傍了解弊,從西而大脊大簡按化和永加快涂了開突發(fā)過窗程。用JD計BC訪問濱數(shù)據(jù)觀庫訪問份數(shù)據(jù)斷庫的枝數(shù)據(jù)訪問偉數(shù)據(jù)內(nèi)庫中程的數(shù)糟據(jù)分丸為三前種方根式:St理at凈em碎en崖t:執(zhí)行氧無參疤數(shù)的內(nèi)靜態(tài)SQ洽L語句Pr撇ep種ar繳ed發(fā)St陪at扇em畏en匙t:執(zhí)行憤帶或碑不帶IN參數(shù)窗的預(yù)魔編譯SQ新L語句份;Ca誤ll翅ab案le橋St帝at此em美en伍t:執(zhí)行單存儲再過程陳調(diào)用追。接口St供at派em蹤蝶en熊tSt夫at純em漏en迫t接口師常用俗的執(zhí)磨行SQ丑L語句停的方蘆法:接口St立at遺em輛en夏t使用徒示例St仆at擁em洗en蜘t應(yīng)用壓要點St老at裝em嚇en完t應(yīng)用乎要點JD羊BC編譯券時并傻不對僚將要幅執(zhí)行頃的SQ迫L查詢面語句顛作任撓何檢致查,僅將傍其作直為一汁個St研ri鞋ng對象,直到棉驅(qū)動社程序羨執(zhí)行SQ軟L查詢昌語句勻時才滾檢查漿否正鍛確;若出困現(xiàn)錯咸誤,執(zhí)行赤時將金會產(chǎn)園生SQ哈LE祥xc豬ep危ti游on腎;一個St慌at姿em它en獨t對象舊在同吵一時繭間只呢能打傾開一拍個結(jié)勞果集,對第從二個提結(jié)果促集的灣打開左隱含押關(guān)閉祥第一沉個結(jié)溝果集;若想?yún)矊Χ嗪軅€結(jié)規(guī)果集絮同時艇操作,必須仙創(chuàng)建宣多個St吃at翠em切en抖t對象,在每揮個St雅at避em敵en供t對象塑上執(zhí)皺行SQ承L查詢王語句蛙以獲管得相旅應(yīng)的膛結(jié)果修集;若不國需要繞同時男處理移多個膛結(jié)果挽集,則可前以在狗一個St們at刮em臭en劣t對象辯上順脆序執(zhí)愧行多幕個SQ攜L查詢盟語句,對獲垂得的榜結(jié)果潑集進(jìn)俘行順愧序操扇作;注意哨:必絡(luò)須將JD對BC驅(qū)動煙程序糊包加身到項自目cl絞as關(guān)sp枝at鄭h中。在使堪用St珍at沾em弦en按t時,烈可能工引發(fā)"S飄QL注入"的問氣題。使用St甩at故em叔en友t要注薄意引擋發(fā)"S湖QL注入"預(yù)編斑譯Pr規(guī)ep類ar征ed擋St機at槳em俱en棵t對象用Pr絹ep藏ar妹ed灑St騰at鋼em寄en圈t對象絞可多涉次執(zhí)局行一勿個SQ哄L語句Pr澡ep母ar廁ed配St鈴at圣em茅en芒t對象鄭通過辱傳遞畢不同保參數(shù)后值多鳳次執(zhí)報行同杯一SQ剛L語句,可得拴到多未個不記同的暫結(jié)果蛙。Pr蒼ep鳴ar滲ed斤St沿at廣em暴en院t的實平現(xiàn)機喚制:使用Pr對ep網(wǎng)ar干ed是St搭at粉em選en癥t對象券執(zhí)行Sq寺l命令拖時,S耳ql被DB綢MS進(jìn)行均解析瘡和編動譯,然后躬放到孔命令污緩沖掀區(qū);每當(dāng)箏執(zhí)行己同一口個Pr鑒ep出ar珠ed籍St項at星em直en床t對象愈時,就被津再解壯析一重次,但不硬被再拖次編女譯。在大老量用堪戶的倍企業(yè)伙級應(yīng)各用中,使用Pr那ep耕ar獅ed潔St會at蓄em秘en齡t對象敗帶來倆的編兆譯次乏數(shù)的形減少擦能夠遭提高占數(shù)據(jù)腹庫的治總體努性能劍。ex莫ec闊ut扔eU礦pd哪at靠e(照St梅ri最ng鍵s找ql肯):能執(zhí)弊行添縮慧加(i料ns定er襖t)、修甘改(u紗pd斧at劍e)和刪夠除(d榜el佩et匯e)的SQ富L語句,執(zhí)行故成功異將返撒回所盟影響液記錄補的行遞數(shù)。ex牽ec蟻ut宣eQ養(yǎng)ue復(fù)ry蛛(S凡tr腸in認(rèn)g啦sq臂l)哥:將執(zhí)察行查拘詢(s乒el瞧ec恒t)語句,成功夾后,返回址一個厲存儲伙所有屠滿足柱查詢凈條件揭的數(shù)農(nóng)據(jù)庫伙記錄摟的Re鼻su秘lt安Se開t對象皆。在該哨對象福的sq春l語句窩中可用"?潤"作為迷參數(shù)指的占宇位符;執(zhí)行悔前,必須點為每貸個問柏號"?挪"設(shè)置顛參數(shù)黎值。通過se咽tX爬xx攀()方法營可設(shè)梳置參塑數(shù),其中Xx悲x是與萄參數(shù)弱對應(yīng)濕的類講型。預(yù)編含譯Pr裙ep醬ar輕ed溪St徐at行em騰en柿t使用枝示例結(jié)果屯集Re免su邁lt攪Se普t對象St倆at悅em饞n接口庭的ex界ec交ut灑eQ柳ue迅ry勇()方法,返回熄一個Re順su丸lt正Se氣t類型勒的結(jié)機果集,其中喬為所嫂有滿銅足查艱詢條就件的芬數(shù)據(jù)暖庫記境錄。Re胞su殃lt糟Se禾t的基糾本處腸理方定法:Re麻su直lt歐Se集t對象大中不絕僅包棚含滿期足查禁詢條毫件的孫記錄豬,還冤可以臂獲得予數(shù)據(jù)象表的智相關(guān)荷信息,如每封列的踐名稱堪、列杏的數(shù)擊量等雨。Re督su睜lt鬧Se坊t對象叔維持后一個示指向錘當(dāng)前隔行的修指針辭。最響初,誤指針朋指向扮第一你行之領(lǐng)前,Re仇su滔lt搖Se基t對象關(guān)的ne陜xt尺()方法陽使指賞針移高向下紫一行輛。第一文次,使用ne四xt澆()方法毯時將成指針喝指向衡結(jié)果程集的憲第一社行;ne花xt方法融返回余是一敞個bo甜ol寒ea摘n值,配若為tr菜ue,則傳成功租移向正下一抽行;若返固回fa飄ls賄e則沒噸有下港一行歉。ge老tX胸xx法可炎以從知某一炒列中犯獲得弱結(jié)果;其中:找Xx滾x是ja貢va數(shù)據(jù)卸類型;獲取蓬結(jié)果辯集中未的數(shù)稅據(jù)可共用兩攻種方售法獲效得:通過輸列名確來獲娛取某蹤蝶個字利段的屢數(shù)據(jù)稈。通過惜列的時索引療(從眠1開竟始)賤獲取夢某個數(shù)字段權(quán)的數(shù)泰據(jù)菌。Re譽su永lt討Se鍬t示例——方法腔演示Re惑su曲lt頂Se托t示例——多結(jié)辛果集壟演示數(shù)據(jù)類類型糕和轉(zhuǎn)廊換數(shù)據(jù)士類型熔一般沃轉(zhuǎn)換型規(guī)則慰:對于ge差tX粉XX奴()方法,貼JD弄BC驅(qū)動揀程序倦試圖異將基銷本數(shù)峰據(jù)轉(zhuǎn)弓換成率指定Ja責(zé)va類型,然后含返回妹適合尺的Ja丹va值。例如:如果貓為ge天tS祝tr瓜in務(wù)g(敘)方法,而數(shù)慘據(jù)庫丈中數(shù)徒據(jù)類嘆型為VA壩RC范HA母R,則JD璃BC驅(qū)動喘程序壺將把VA凱RC份HA爛R轉(zhuǎn)換糖成Ja張va評S閥tr料in朗g。Ge憶tS簽tr痕in插g(刷)的返隆回值膛將為Ja歌va窗S箭tr宰in凡g對象桐。再如:除ge冊tB大yt蔽es奪()和ge踐tB柏in蹦ar妹yS刪tr畫ea方m(供)外的么任何ge圈tX鐵XX雹()都可換用于由獲取LO磚NG盲VA賺RC風(fēng)HA口R值,但推膚薦按殘返回厲的類召型使膚用ge肝tA陵sc箱ii媽St啞re市am焦()或ge頌tU宜ni扔co珍de早St奮re億am戒()方法慢。方法ge乳tO左bj扮ec奸t(甲)將任謹(jǐn)何數(shù)提據(jù)類飲型返控回為Ja隔va話O押bj捉ec迷t。對非籌常大晃的值隸使用冊流:對很滋大的租字符刊數(shù)據(jù)(l凡on狠gv概ar源ch守ar寸)或二隊進(jìn)制付數(shù)據(jù)(l巴on深gv鋪ar蒜bi巡壽na侵ry泊)可通藥過輸呼入讓Re慈su殘lt棟Se鑼t類返制回ja使va瘦.i貿(mào)o.含In徹pu罩tS鍋tr嘴ea馳m來完呀成。ge析tB僵in醉ar宇yS值tr掀ea址m(劈燕):返窄回對坊字段坐不進(jìn)岸行任自何轉(zhuǎn)亦換的筑字節(jié)克而流堡。ge功tA摟sc折ii及St鬼re成am組():返譯回字掠段的茶單字賀節(jié)AS烘CI姜I字符蘿的流減。ge形tU椅ni奔co均de摩St笑re均am竄():返褲回字寶段的粗雙字垮節(jié)Un詠ic盯od傾e字符識流。數(shù)據(jù)和庫存哭儲過董程調(diào)薄用用Ca萄ll當(dāng)ab宋le份St緒at改em爐en獅t對象邁能以煎標(biāo)準(zhǔn)廁形式粒調(diào)用羞存儲搖過程秧:所有咳的關(guān)集系數(shù)屋據(jù)庫杏都可斜以用慌該接汽口的纖對象蘇以標(biāo)符準(zhǔn)形治式調(diào)娃用儲足存過撐程;該該對糾象調(diào)指用存裂儲過己程有網(wǎng)兩種命形式堆:不帶近結(jié)果肚參數(shù)跌的形寺式:敘{ca禾ll過程搶名[袋(?刑,?胳,.婆..艙)]肌}帶結(jié)州果參濫數(shù)的前形式忽:{粉?懲=ca綠ll過程元名[犬(?菊,組?,勢.售..病)]裝}其中刑:結(jié)冊果參踏數(shù)是悄一種煎輸出貨參數(shù)鑒,是本儲存?zhèn)鬟^程乖的返俱回值機。兩種移形式馳都可艦帶多堵個輸爺入、劣輸出建參數(shù),問號符用作泡參數(shù)糞的占茶位符處理小存儲鋼過程斥接口懶的使松用步馬驟:用Co翻nn鋤ec貓ti蟲on類的pr譜ep叼ar抗eC由al奸l(包)創(chuàng)建Ca吐ll閣ab妹le正St依at奴em檔en使t對象咳。如:C而al盤la信bl鞭eS什ta行te煉me貨nt題c火st愚=c腥on圣.p順re鑰pa寇re寒Ca贏ll宵("配{c撤al暖l鈴pr楊oD麥em川o(惡?)辭}"灶);設(shè)置幕輸入開參數(shù):通過se究tX納XX說()方法催給Ca扛ll吊ab辣le旗St蜻at蓬em候en護(hù)t設(shè)置注冊崇輸出版參數(shù):執(zhí)行云該對定象前千必須敗注冊宰各輸魚出參勒數(shù)的JD獨BC類型注冊JD滋BC類型呼用re遲gi揚st可er領(lǐng)Ou仍tP怕ar株am日et以er革()方法價完成噴。語句練執(zhí)行陷完后踐,Ca新ll最ab司le凳St戶at扁em焦en閥t的ge零tX誼XX寄()方法濟(jì)將取升回參砍數(shù)值攝。其中軌存儲籌過程府的返蹈回值灣也作廚為輸娘出參嶼數(shù)。存儲勾過程圓調(diào)用眨示例為數(shù)廈據(jù)庫睜建立鼻存儲憑過程出如下唉:調(diào)用紅數(shù)據(jù)機庫存舍儲過系程:事務(wù)姓處理事務(wù):一組里組織薄在一絡(luò)起的賭數(shù)據(jù)歲庫操捧作序厚列(東多個SQ內(nèi)L語句俱)同一湯事務(wù)睛中的衡操作筑要么久全做,要么心全不旗做,才能幅保證草數(shù)據(jù)噴庫的抖一致即性和帽完整阿性,箱因此碑是個工不可涌分割蛛的工富作單敢位。數(shù)據(jù)瞧庫事圖務(wù)的AC熄ID特性難:原子護(hù)性(a糠to浴mi艷ci零ty跡):指事獅務(wù)執(zhí)秩行單鋒元是臣一個池不可六分割每的單譯元,披這些由單元涌要么耗都執(zhí)寶行,憲要么丸都不讓執(zhí)行鞭。一致惑性(c潮on方si色st迎en周cy羊):指無橫論執(zhí)最行了圣什么只操作分,都栽應(yīng)保芒證數(shù)策據(jù)的丸完整仙性和馬業(yè)務(wù)釋邏輯謎的一奏致性乖。隔離罰性(i于so匠la匠ti職on遮)或稱應(yīng)為事?lián)靹?wù)的亦串行岸化:指事致務(wù)執(zhí)守行過南程中銅不存費在當(dāng)源前所功處理缺數(shù)據(jù)象正被余另一昌事務(wù)舌處理箏的情榨況。持久蠶性(d屢ur蠻ab因il頑it幕y)癥:指事蘋務(wù)結(jié)鏡束后,執(zhí)行朽單元呢操縱芬的數(shù)叨據(jù)被垃保存挨在數(shù)錘據(jù)庫暗中,這些方數(shù)據(jù)殲的保耍存狀悅態(tài)是翅永久進(jìn)性的,即使碗數(shù)據(jù)腐庫系蹄統(tǒng)崩防潰,數(shù)據(jù)穴也不盤會消既失。默認(rèn)潔情況季下,咬JD續(xù)BC的新從連接備處于閱自動融提交亦模式藥。JD戚BC中的詢事務(wù)蘆處理JD稿BC中的散事務(wù)炮處理象有兩燭種方伙式:自動撫提交:每當(dāng)誰執(zhí)行功完一樹條SQ尸L時就呼會提畢交事呢務(wù);手動累提交:必須某用Co信nn裕ec預(yù)ti擔(dān)on接口憤的co童mm彼it頂()方法騰才提害交,或用ro隱ll津ba炒ck戀()回滾血事務(wù),以使?fàn)慨?dāng)前錢事務(wù)候結(jié)束,另一疫事務(wù)你隨即斃開始臣。用Co余nn鑒ec感ti漫on的se嚷tA擇ut銀oC袍om太mi組t(您)可設(shè)司置事析務(wù)提猜交方戶式vo舅id眠s謠et珍Au拋to謠Co員mm欠it浪(b勿oo脆l(xiāng)e座an國a倆ut登oC求om姐mi炸t)參數(shù)那:為tr仿ue啟用姨自動沸提交限模式鼠;為fa脊ls倘e禁用送自動禁提交乖模式vo扛id杰c癢om對mi兔t(溝):提線交事夏務(wù)使所氧有上局一次恰提交/回滾擴后進(jìn)蚊行的怨更改露持久泊化,給并釋漁放此Co竄nn與ec獵ti腰on對象趙當(dāng)前足持有句的所負(fù)有數(shù)獵據(jù)庫六鎖。此方萬法只片應(yīng)該飽在已患禁用珠自動棟提交展模式吸時使糞用。vo返id栽r惕ol嗽lb際ac閉k(壁):回授滾事瀉務(wù)取消灰在當(dāng)幸前事沾務(wù)中蓮進(jìn)行甲的所臨有更繳改,并釋景放此Co猴nn喘ec匆ti巨on對象庭當(dāng)前廢持有趟的所它有數(shù)副據(jù)庫護(hù)鎖。此方誤法只趕應(yīng)該落在已飲禁用洗自動添提交擦模式釀時使花用。事務(wù)宣處理牲示例——自動豆提交事務(wù)思處理堅示例——手動后提交JD燭BC對事磨務(wù)管虛理級守別JD屯BC的事團(tuán)務(wù)隔飽離級拆別:Co悅nn次ec附ti暗on對象粥的se量tT州ra懼ns溪ac投ti謀on偏Le僑ve及l(fā)(紅)方法渴可指擴定事拿務(wù)級奧別。低隔察離級桿別:可增診強多揀用戶安同時念訪問貍數(shù)據(jù)印的能姨力,但增加加了碑用戶貫可能貨遇到困的并信發(fā)副調(diào)作用(如臟址讀或呼丟失丟更新)的數(shù)雹量。高隔佩離級睜別:能減恨少用刻戶遇暑到并虧發(fā)副旋作用粱的類灑型,但需鉤更多鵝的系堅統(tǒng)資衛(wèi)源,并增總加了塑一個洲事務(wù)使阻塞補其他沸事務(wù)本的可濾能性迅。小結(jié)侍:三種哀執(zhí)行SQ粥L語句踐的方鋼法ex巨ec亞ut兄eQ她ue敘ry棚()返回涉執(zhí)行暢后的祥單個允結(jié)果鵲集,所以浪通常址用于SE釀LE伸CT語句雜。ex揀ec餡ut脹eU曬pd伍at水e(垮)返回歡一個任整數(shù),指示斥受影槽響的守行數(shù)(即更謠新計柏數(shù))。ex炒ec窄ut較e(皮)返回訪一個bo巧ol帽ea產(chǎn)n值,該方擔(dān)法執(zhí)叢行后乎可以森得到越多個童結(jié)果慕集、博多個朝更新徹計數(shù)增或二渣者的容組合桑。DA隆O和數(shù)賴據(jù)庫盛連接銀池為什福么需盲要DA貌O模式多層適結(jié)構(gòu)狹系統(tǒng)盤的主悶要特攔點:安全幼性:中間與層隔粘離了柏客戶抬對數(shù)帽據(jù)庫堅服務(wù)胸器的姻訪問,保護(hù)絹了數(shù)芬據(jù)庫偶的安懼全。易維返護(hù)性:由于偶業(yè)務(wù)刪邏輯證位于亡單獨漆的一絕層,當(dāng)業(yè)買務(wù)規(guī)贏則發(fā)累生變浙化后,客戶禍端程掙序基步本不拿作改嚼動。快速沒響應(yīng):通過仔負(fù)載衰均衡度及中廁間層栗緩沖深數(shù)據(jù),可提報高對賞客戶緩端的王響應(yīng)運速度醒。系統(tǒng)牙擴展珍靈活:基于盤多層種分布栽式式恰結(jié)構(gòu),當(dāng)業(yè)訪務(wù)增缺大時,可在團(tuán)中間少層部欲署更喊多的我應(yīng)用按服務(wù)腥器,提高遵對客驗戶端蘿的響依應(yīng),而所角有變描化對換客戶始透明抵。DA獎O(乘Da婚ta糞A紐奉cc街es攜s野Ob搬je坡ct壓)數(shù)據(jù)墾訪問息對象:DA捎O與數(shù)懷據(jù)庫抗或數(shù)鞋據(jù)文號件等合持久抖層打已交道光,夾棒在業(yè)雞務(wù)邏史輯與呆數(shù)據(jù)束庫資掏源中尋間,村專門浸用于徑數(shù)據(jù)猜處理培。DA傻O模式DA絮O模式票是標(biāo)持準(zhǔn)J2瀉EE設(shè)計昨模式蛙之一眉,開陶發(fā)人柱員使圓用這輔種??綄⑷讓硬鍞?shù)據(jù)耍訪問串操作疑與高炎層業(yè)萄務(wù)邏撲輯分流開。一個構(gòu)典型役的DA奸O實現(xiàn)李有以須下組親件:DA貼O工廠剃類:耐創(chuàng)建DA沖O實例DA略O(shè)接口幟:用桂于外蹄層與心數(shù)據(jù)方訪問扇層隔瞇離實現(xiàn)DA口O接口農(nóng)的類稱:對任外層莫隱藏倚底層憤數(shù)據(jù)火庫訪何問細(xì)卻節(jié)數(shù)據(jù)徑傳輸蹦對象DT司O:用趴于與淘客戶鈴交換開數(shù)據(jù)DA饒O模式灘的優(yōu)們點:利用理接口籍實現(xiàn)懲松耦鼻合;簡化霞數(shù)據(jù)勾移植顛;降低毫了業(yè)掘務(wù)對爪象中崖代碼錯的復(fù)贈雜度拆;對持案久化鑰數(shù)據(jù)拋實現(xiàn)額透明威訪問潑;對數(shù)決據(jù)庫蔥結(jié)構(gòu)數(shù)提供毒面向藝對象琴的視涂圖和例封裝濕;將所兩有數(shù)慎據(jù)訪乖問代監(jiān)碼組降織到葡一個競獨立哪的層晚次中拆。DA蜓O設(shè)計輕模式實現(xiàn)雨實例DA橋O工廠睜的實他現(xiàn)用JD徑BC的DA更O工廠構(gòu)使喘用環(huán)騰境:1.底層停采用JD翁BC進(jìn)行印數(shù)據(jù)糠庫操據(jù)作,而且癢針對戲同一忘個數(shù)獎?chuàng)?.同一播工廠摘實例怕創(chuàng)建懶的各DA寬O是同會一個喪鏈接,以節(jié)釘省鏈乖接資半源3.對各拌個DA狂O的操油作提游供同舟一個乖事務(wù)4.對該土事務(wù)忘提供份提交揮、回挨滾操或作5.提供欲關(guān)閉點鏈接敬的方析法數(shù)據(jù)監(jiān)庫連拜接池數(shù)據(jù)胸庫連資接池孩:當(dāng)服咽務(wù)器超啟動索時,預(yù)先衡建立婚一定胃數(shù)量亂的數(shù)素?fù)?jù)庫鍛連接,并將株其置瓣于數(shù)撿據(jù)庫造連接帆池中,并一朗直維企持不守少于智此數(shù)黑目的阻連接紛。當(dāng)客紋戶端睛需要乓操作推數(shù)據(jù)療庫時瓦,數(shù)運據(jù)庫眨連接辦池會豬返回剛一個它未使宗用的鎖連接斑并將鑄其標(biāo)謝記為桃忙。失當(dāng)客謎戶端陵操作麗完數(shù)攤據(jù)庫槳,將形所使漏用的甩鏈接新交還服給鏈散接池暈,并交將連糾接標(biāo)羨

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論