java程序設(shè)計課件基礎(chǔ)ch7與模式_第1頁
java程序設(shè)計課件基礎(chǔ)ch7與模式_第2頁
java程序設(shè)計課件基礎(chǔ)ch7與模式_第3頁
java程序設(shè)計課件基礎(chǔ)ch7與模式_第4頁
java程序設(shè)計課件基礎(chǔ)ch7與模式_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第7章章 MVC與與DAO模式模式陳小潘E-mail: 計算機與信息工程學(xué)院501本章要點本章要點 MVC框架模式簡介 JSP中實現(xiàn)MVC框架模式 重定向與轉(zhuǎn)發(fā) 頁面間數(shù)據(jù)共享方式 具體實例:用戶注冊模塊 DAO模式Java Web程序設(shè)計22022-3-22第第7章章MVC與與DAO模式模式7.1 MVC框架模式簡介7.2 在JSP中實現(xiàn)MVC框架模式7.3 請求轉(zhuǎn)發(fā)與重定向7.4 頁面間數(shù)據(jù)的共享方式7.5 DAO模式7.6 Apache DbUtils工具類Java Web程序設(shè)計32022-3-22第第7章章MVC與與DAO模式模式7.1 MVC框架模式簡介7.2 在JSP中實現(xiàn)MV

2、C框架模式7.3 請求轉(zhuǎn)發(fā)與重定向7.4 頁面間數(shù)據(jù)的共享方式7.5 DAO模式7.6 Apache DbUtils工具類Java Web程序設(shè)計42022-3-227.1 MVC框架模式框架模式7.1.1 MVC框架模式介紹7.1.2 MVC框架模式的優(yōu)勢Java Web程序設(shè)計52022-3-227.1.1 MVC框架模式介紹框架模式介紹 MVC即Model-View-Controller(模型-視圖-控制器)是一種軟件設(shè)計模式,MVC最早出現(xiàn)在Smalltalk語言中,后來在Java中得到廣泛應(yīng)用,并且被Sun公司推薦為Java EE平臺的設(shè)計模式。 MVC把應(yīng)用程序分成了三個核心模塊,

3、即業(yè)務(wù)邏輯層、視圖層和控制層。實質(zhì)上,模型表示數(shù)據(jù)業(yè)務(wù)處理功能,視圖表示數(shù)據(jù)顯示,控制器表示流程控制。Java Web程序設(shè)計62022-3-227.1.1 MVC框架模式介紹框架模式介紹 Model模型:用于封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對數(shù)據(jù)的處理方法。模型有對數(shù)據(jù)直接訪問的能力。 View視圖:視圖層能夠?qū)崿F(xiàn)數(shù)據(jù)有目的的顯示。在視圖中一般沒有程序上的邏輯,它從模型那里獲得數(shù)據(jù)并指定這些數(shù)據(jù)如何表現(xiàn)。當(dāng)模型變化時,視圖負(fù)責(zé)維持?jǐn)?shù)據(jù)表現(xiàn)的一致性,視圖同時負(fù)責(zé)將用戶需求通知給控制器。 Controller控制器:控制器相當(dāng)于調(diào)度者,用于控制應(yīng)用程序的流程。它處理事件并做出響應(yīng)。Java

4、 Web程序設(shè)計72022-3-227.1.1 MVC框架模式介紹框架模式介紹Java Web程序設(shè)計82022-3-227.1.1 MVC框架模式介紹框架模式介紹 傳統(tǒng)JSP運行機制 在傳統(tǒng)的Java Web應(yīng)用中,JSP頁面既負(fù)責(zé)數(shù)據(jù)顯示,又負(fù)責(zé)業(yè)務(wù)邏輯處理和流程控制,導(dǎo)致程序維護(hù)困難,代碼可讀性差,程序和頁面間高度耦合,致使程序不易于擴(kuò)展。Java Web程序設(shè)計9圖圖1 傳統(tǒng)傳統(tǒng)JSP運行機制運行機制2022-3-227.1.1 MVC框架模式介紹框架模式介紹 基于MVC的JSP MODEL1與JSP MODLE 2 為了解決傳統(tǒng)JSP遇到的這些問題,Sun公司基于MVC思想提出了兩種

5、開發(fā)模式:JSP Model1和JSP Model2。圖圖2 JSP MODEL 1Java Web程序設(shè)計102022-3-227.1.1 MVC框架模式介紹框架模式介紹圖圖 JSP MODEL 2Java Web程序設(shè)計11 基于MVC的JSP Model1與JSP Model 22022-3-227.1.2 MVC框架模式的優(yōu)勢框架模式的優(yōu)勢應(yīng)用程序使用MVC框架模式有以下優(yōu)勢:有利于代碼復(fù)用。MVC框架模式的分層開發(fā)模式,有利于實現(xiàn)代碼及組件的復(fù)用。有利于開發(fā)人員分工。在MVC框架模式中,徹底地把應(yīng)用程序的界面設(shè)計與程序設(shè)計分離,有利于人員分工。有利于降低程序模塊間的耦合,便于程序的維

6、護(hù)與擴(kuò)展。在MVC框架模式中,三個層次之間是相互獨立的,每層負(fù)責(zé)實現(xiàn)具體的功能,如果某層發(fā)生了改變不會影響其他兩層的正常使用。Java Web程序設(shè)計122022-3-22第第7章章MVC與與DAO模式模式7.1 MVC框架模式簡介7.2 在JSP中實現(xiàn)MVC框架模式7.3 請求轉(zhuǎn)發(fā)與重定向7.4 頁面間數(shù)據(jù)的共享方式7.5 DAO模式7.6 Apache DbUtils工具類Java Web程序設(shè)計132022-3-22第第7章章MVC與與DAO模式模式 程序運行界面 用戶點擊不同的按鈕可以分別實現(xiàn)登錄和注冊的功能。2022-3-22Java Web程序設(shè)計14第第7章章MVC與與DAO模式

7、模式2022-3-22Java Web程序設(shè)計157.2 JSP中實現(xiàn)中實現(xiàn)MVC框架模式框架模式以用戶注冊模塊來介紹在JSP中如何實現(xiàn)MVC模式(1)程序結(jié)構(gòu)henu.bean.User:模型層,實現(xiàn)用戶注冊的業(yè)務(wù)模型及數(shù)據(jù)庫操作;henu.servlet.UserServlet:控制器層的角色,用于流程控制,調(diào)度模型和選擇視圖展示運行結(jié)果;regist.jsp和result.jsp等頁面為視圖層,負(fù)責(zé)交互與結(jié)果展現(xiàn)。Java Web程序設(shè)計162022-3-227.2 JSP中實現(xiàn)中實現(xiàn)MVC框架模式框架模式(2)編程思想)編程思想用戶通過用戶通過JSP頁面的表單輸入注冊信息,表單提交后由

8、頁面的表單輸入注冊信息,表單提交后由Servlet獲取表單中的數(shù)據(jù)并交由獲取表單中的數(shù)據(jù)并交由JavaBean對象存儲用對象存儲用戶數(shù)據(jù),然后將戶數(shù)據(jù),然后將JavaBean對象的數(shù)據(jù)保存至數(shù)據(jù)庫中,對象的數(shù)據(jù)保存至數(shù)據(jù)庫中,最后再由最后再由Servlet通知相應(yīng)的視圖顯示用戶注冊的結(jié)果。通知相應(yīng)的視圖顯示用戶注冊的結(jié)果。 Java Web程序設(shè)計172022-3-227.2 JSP中實現(xiàn)中實現(xiàn)MVC框架模式框架模式(3)用例事件流描述)用例事件流描述用戶注冊:A簡單描述本用例描述系統(tǒng)各類用戶注冊。B前置條件無C后置條件如果用例成功,則轉(zhuǎn)到顯示結(jié)果頁面result.jsp,否則,提示出錯信息。

9、D擴(kuò)充點無E事件流當(dāng)用戶單擊登錄頁面的用戶注冊鏈接時,用例啟動。基流:無替代流:用戶注冊失敗后,轉(zhuǎn)入用戶提示出錯頁面error.jsp。Java Web程序設(shè)計182022-3-227.2 JSP中實現(xiàn)中實現(xiàn)MVC框架模式框架模式(1)表示層的主要工作是實現(xiàn)人機交互,展現(xiàn)程序執(zhí)行結(jié)果,在本例中注冊頁面regist.jsp提供一個表單負(fù)責(zé)收集用戶的信息并發(fā)送請求調(diào)用控制器UserServlet;結(jié)果頁面result.jsp顯示注冊成功的信息;而錯誤提示頁面error.jsp顯示錯誤信息。Java Web程序設(shè)計192022-3-227.2 JSP中實現(xiàn)中實現(xiàn)MVC框架模式框架模式(2)模型層Us

10、er.java處理業(yè)務(wù)邏輯,其功能有兩個:一是對應(yīng)數(shù)據(jù)表結(jié)構(gòu)設(shè)計成員變量,作為視圖層與數(shù)據(jù)表之間的數(shù)據(jù)中轉(zhuǎn)站,存儲數(shù)據(jù);二是負(fù)責(zé)實現(xiàn)用戶注冊的業(yè)務(wù)邏輯,完成對數(shù)據(jù)庫的操作。Java Web程序設(shè)計202022-3-227.2 JSP中實現(xiàn)中實現(xiàn)MVC框架模式框架模式(3)控制器層的功能有三個:一是獲取請求表單中的用戶信息;二是封裝模型層對象user,并調(diào)用其方法regist實現(xiàn)用戶信息的保存;三是選擇相應(yīng)的視圖展現(xiàn)程序執(zhí)行結(jié)果。Java Web程序設(shè)計212022-3-227.2 JSP中實現(xiàn)中實現(xiàn)MVC框架模式框架模式動手實踐:設(shè)計一個Web應(yīng)用程序,判斷一個一元二次方程ax2+bx+c=z

11、有幾個根。該程序包括兩個JSP頁面root.jsp和result.jsp;一個JavaBean和一個Servlet。要求使用MVC模式實現(xiàn)此功能,即用戶通過root.jsp輸入一元二次方法a,b,c和z的值;提交該頁面后使用JavaBean存儲這些值和結(jié)果;使用Servlet進(jìn)行判斷并最終將結(jié)果顯示到result.jsp頁面中。Java Web程序設(shè)計222022-3-22第第7章章MVC與與DAO模式模式7.1 MVC框架模式簡介7.2 在JSP中實現(xiàn)MVC框架模式7.3 請求轉(zhuǎn)發(fā)與重定向7.4 頁面間數(shù)據(jù)的共享方式7.5 DAO模式Java Web程序設(shè)計232022-3-227.3 請求

12、轉(zhuǎn)發(fā)與重定向請求轉(zhuǎn)發(fā)與重定向Internet的一個主要特征就是通過超級鏈接聚合了大量的信息資源,Web應(yīng)用中各個資源(包括HTML/JSP頁面、Servlet對象等)也可以實現(xiàn)資源的相互關(guān)聯(lián)與整合,在Java Web應(yīng)用中可使用以下幾種方式達(dá)到Web資源的關(guān)聯(lián)與整合。請求轉(zhuǎn)發(fā)重定向包含 Java Web程序設(shè)計242022-3-227.3 請求轉(zhuǎn)發(fā)與重定向請求轉(zhuǎn)發(fā)與重定向(1)請求轉(zhuǎn)發(fā)/請求轉(zhuǎn)發(fā)至target.jsp頁面RequestDispatcher dispatcher=request.getRequestDispatcher(target.jsp);dispatcher.forward

13、(request, response);RequestDispatcher對象可以把用戶對當(dāng)前Web資源的請求轉(zhuǎn)發(fā)給目標(biāo)Web資源,如上述代碼的target.jsp頁面。簡而言之,當(dāng)前頁面將和目標(biāo)頁面target.jsp共享一個請求對象。Java Web程序設(shè)計252022-3-227.3 請求轉(zhuǎn)發(fā)與重定向請求轉(zhuǎn)發(fā)與重定向注意: 請求轉(zhuǎn)發(fā)方式通常用于Servlet中,請求轉(zhuǎn)發(fā)方式只能把請求轉(zhuǎn)發(fā)給同一個Web應(yīng)用中的頁面,并不能轉(zhuǎn)發(fā)給其他Web應(yīng)用中的資源。Java Web程序設(shè)計262022-3-227.3 請求轉(zhuǎn)發(fā)與重定向請求轉(zhuǎn)發(fā)與重定向(2)重定向重定向重定向是將來自客戶端的請求傳遞給其他

14、的重定向是將來自客戶端的請求傳遞給其他的Web資源,資源,與請求轉(zhuǎn)發(fā)不同的是,目標(biāo)資源可以是不在同一個與請求轉(zhuǎn)發(fā)不同的是,目標(biāo)資源可以是不在同一個Web應(yīng)用中。在應(yīng)用中。在Servlet中,使用中,使用HttpServletResponse對象的對象的sendRedirect()方法實現(xiàn)重定向。方法實現(xiàn)重定向。/從當(dāng)前頁面跳轉(zhuǎn)至相對路徑為pages/target.jsp的頁面。response.sendRedirect(pages/target.jsp);Java Web程序設(shè)計272022-3-227.3 請求轉(zhuǎn)發(fā)與重定向請求轉(zhuǎn)發(fā)與重定向重定向與請求轉(zhuǎn)發(fā)的區(qū)別:重定向可以將Web資源指向任何

15、一個URL,而不僅僅局限于同一個Web應(yīng)用中。重定向是返回一個應(yīng)答給客戶端,然后再重新發(fā)送一個請求給目標(biāo)URL,所以瀏覽器地址欄會更新為目標(biāo)Web資源的URL;而使用RequestDispatcher對象請求轉(zhuǎn)向時,瀏覽器地址欄不會更新,仍為原有Web資源的URL。使用重定向時,Web資源之間不會共享使用用戶請求對象request,而RequestDispatcher則共享。Java Web程序設(shè)計282022-3-22第第7章章MVC與與DAO模式模式7.1 MVC框架模式簡介7.2 在JSP中實現(xiàn)MVC框架模式7.3 請求轉(zhuǎn)發(fā)與重定向7.4 頁面間數(shù)據(jù)的共享方式7.5 DAO模式Java

16、Web程序設(shè)計292022-3-227.4 頁面間數(shù)據(jù)共享方式頁面間數(shù)據(jù)共享方式(1)重寫URL重寫URL是在URL的后面附加參數(shù),和服務(wù)器的請求一起發(fā)送,這些參數(shù)稱為查詢字符串。查詢字符串為一對“名稱/值”對,URL中多個查詢字符串之間使用“&”符號連接。如 ,此URL將向目標(biāo)頁面detail.jsp中傳遞兩個查詢字符串id和action,其值分別為10和delete。使用request內(nèi)置對象的getParameter()方法獲取查詢字符串的對應(yīng)值。String id = request.getParameter(id);String action = request.getParamet

17、er(action);Java Web程序設(shè)計302022-3-227.4 頁面間數(shù)據(jù)共享方式頁面間數(shù)據(jù)共享方式重寫URL可以確保所有瀏覽器中有效,但是簡單易于實現(xiàn),但是重寫URL也有缺點:重寫URL的頁面必須動態(tài)生成;用戶數(shù)據(jù)暴露,易造成安全上的隱患;URL的長度有限制,如使用URL傳遞大量數(shù)據(jù),會造成性能下降;必須對所有指向本W(wǎng)eb站點的URL進(jìn)行編碼;訪問不方便,不能預(yù)先記錄訪問頁面的URL。 Java Web程序設(shè)計312022-3-227.4 頁面間數(shù)據(jù)共享方式頁面間數(shù)據(jù)共享方式(2)共享session使用重寫URL共享用戶數(shù)據(jù)時,一個致命的限制就是兩個頁面間必須通過鏈接關(guān)聯(lián)起來。如

18、果兩個頁面之間不存在鏈接關(guān)系,將無法使用重寫URL共享數(shù)據(jù)。此時可以使用共享會話的形式,即使用session內(nèi)置對象共享用戶數(shù)據(jù)。Java Web程序設(shè)計322022-3-227.4 頁面間數(shù)據(jù)共享方式頁面間數(shù)據(jù)共享方式HttpSession session = request.getSession(true);/設(shè)置會話有效期為20分鐘session.setMaxInactiveInterval(1200);/向會話中添加一個屬性名稱為user,值為regUser的對象session.setAttribute(user, regUser);/獲取屬性名稱為user的對象值,進(jìn)行強制類型轉(zhuǎn)換U

19、ser user = (User)session.getAttribute(user);/從會話中刪除屬性名稱為user的對象session.removeAttribute(user);Java Web程序設(shè)計332022-3-227.4 頁面間數(shù)據(jù)共享方式頁面間數(shù)據(jù)共享方式 使用session.setMaxInactiveInterval(int interval)方法設(shè)置會話的有效期(以秒為單位),會話的有效期默認(rèn)為30分鐘(在web.xml文件中配置)。 web.xml配置會話期: minutes Java Web程序設(shè)計342022-3-227.4 頁面間數(shù)據(jù)共享方式頁面間數(shù)據(jù)共享方式

20、(3)使用CookieCookie用于存儲Web服務(wù)器發(fā)送給客戶端的信息(通常以文本文件形式保存在客戶端)。當(dāng)客戶端第一次訪問服務(wù)器時,服務(wù)器為用戶創(chuàng)建一個Cookie對象,在響應(yīng)客戶端的同時把Cookie對象發(fā)送到客戶端。當(dāng)服務(wù)器端程序需要讀取Cookie時,可再由request對象獲取Cookie中的數(shù)據(jù)。Cookie也是以“name/value”映射的形式保存數(shù)據(jù)的,這些信息可被封裝在Cookie對象中。當(dāng)客戶端第一次訪問Web服務(wù)器時,生成一組Cookie信息并保存在客戶端,可通過內(nèi)置對象response的addCookie()方法實現(xiàn)。Java Web程序設(shè)計352022-3-22第

21、一步:通過Cookie構(gòu)造方法創(chuàng)建Cookie對象。第二步:設(shè)置Cookie的最大保留時間。第三步:將Cookie對象添加到響應(yīng)對象中。第四步:得到客戶端發(fā)送過來的Cookie對象。 第五步:獲取Cookie 中數(shù)據(jù)的方法。7.4 頁面間數(shù)據(jù)共享方式頁面間數(shù)據(jù)共享方式cookie.setMaxAge(int value);/單位為秒 response.addCookie(Cookie obj); Cookie cookies = request.getCookies();/*此方法將返回一個Cookie數(shù)組 */cookie.getName();/得到Cookie中的鍵名, cookie.ge

22、tValue();/得到Cookie中的值。 Cookie cookie = new Cookie(String key ,Object value); Java Web程序設(shè)計362022-3-22第第7章章MVC與與DAO模式模式7.1 MVC框架模式簡介7.2 在JSP中實現(xiàn)MVC框架模式7.3 請求轉(zhuǎn)發(fā)與重定向7.4 頁面間數(shù)據(jù)的共享方式7.5 DAO模式Java Web程序設(shè)計372022-3-227.5 DAO模式模式JDBC操作數(shù)據(jù)庫,通常是通過在JSP頁面中寫JDBC代碼或者借助于JavaBean實現(xiàn),這樣導(dǎo)致JSP頁面中包含大量的HTML代碼和Java代碼,顯示和功能代碼混合

23、在一起,難以維護(hù),程序可讀性也較差。DAO (Data Access Objects)設(shè)計模式是屬于Java EE數(shù)據(jù)層的操作,使用DAO設(shè)計模式可以簡化大量的代碼編寫和增加程序的可移植性。使用DAO設(shè)計模式時,JSP頁面僅用來作表現(xiàn)層,即關(guān)注數(shù)據(jù)的顯示,不需要關(guān)注數(shù)據(jù)從何處而來,如何獲取這些數(shù)據(jù)。Java Web程序設(shè)計382022-3-227.5 DAO模式模式 DAO設(shè)計模式封裝數(shù)據(jù)庫中表的全部操作,對業(yè)務(wù)層隱藏數(shù)據(jù)訪問的細(xì)節(jié),數(shù)據(jù)層僅為業(yè)務(wù)層提供數(shù)據(jù)庫操作的接口 DAO設(shè)計模式實現(xiàn)了業(yè)務(wù)層與數(shù)據(jù)層的分離,避免業(yè)務(wù)層和數(shù)據(jù)層的混雜,有利于項目后期的維護(hù)。 DAO的優(yōu)勢 數(shù)據(jù)存儲邏輯的分離

24、; 數(shù)據(jù)訪問底層實現(xiàn)的分離 數(shù)據(jù)抽象Java Web程序設(shè)計392022-3-227.5 DAO模式模式 DAO模式對象圖Java Web程序設(shè)計402022-3-227.5 DAO模式模式 實現(xiàn)DAO的步驟在Java 應(yīng)用中實現(xiàn)DAO模式,主要分為5個模塊,具體如下。 VO類; DAO接口; DAO實現(xiàn)類; DAO工廠類; 數(shù)據(jù)庫連接類。 Java Web程序設(shè)計412022-3-227.5 DAO模式模式(1)數(shù)據(jù)庫連接類數(shù)據(jù)庫連接類的主要功能是連接數(shù)據(jù)庫、關(guān)閉數(shù)據(jù)庫以及常見操作,如執(zhí)行SQL語句等。通過使用數(shù)據(jù)庫連接類,可以大大簡便開發(fā),在需要訪問數(shù)據(jù)庫時,只需調(diào)用該類的相關(guān)方法即可,不

25、必再進(jìn)行大量地重復(fù)編碼工作。Java Web程序設(shè)計422022-3-22Java Web程序設(shè)計43數(shù)據(jù)庫連接類 public class DataBaseConnection private final String DBDRIVER = com.mysql.jdbc.Driver; private final String DBURL = jdbc:mysql:/localhost:3306/javaweb; private final String DBUSER = root; private final String DBPASSWORD = root; private Connec

26、tion conn = null; public DataBaseConnection() try Class.forName(DBDRIVER); conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); catch(Exception e) System.out.println(加載數(shù)據(jù)庫驅(qū)動失??!); public Connection getConnection() return conn; public void close() try conn.close(); catch(SQLException e) System

27、.out.println(數(shù)據(jù)庫連接關(guān)閉失?。?; 2022-3-227.5 DAO模式模式(2) VO類VO(Value Object)意為值對象,是一個屬性與表中字段一一對應(yīng)的類,有多少張表,就有多少個VO類。VO類包含setXxx()和getXxx()方法,用于設(shè)置與獲取屬性值。Java Web程序設(shè)計442022-3-227.5 DAO模式模式 VO類示例 Public classs User private int userid; private String username; private String password; public int getUserid() retu

28、rn userid; public void setUserid(int userid) return userid; public String getUsername() return username; public void setUsername(String username) return username; public String getUserpassword() return userpassword; public void setUserid(String userpassword) return userpassword; Java Web程序設(shè)計452022-3

29、-227.5 DAO模式模式 DAO接口 DAO接口定義了全部的數(shù)據(jù)庫操作,即增刪改查,不過都是些抽象方法,需要子類具體實現(xiàn)。Java Web程序設(shè)計package DB;import java.util.*;/定義數(shù)據(jù)庫操作方法定義數(shù)據(jù)庫操作方法public interface IUserDAO /增加操作增加操作public void insert(User user)throws Exception;/修改操作修改操作public void update(User user)throws Exception;/刪除操作刪除操作public void delete(int userid)t

30、hrows Exception;/按按ID查詢操作查詢操作public User queryById(int userid) throws Exception;/查詢?nèi)坎樵內(nèi)縫ublic List queryAll() throws Exception;/模糊查詢模糊查詢public List queryByLike(String keyword) throws Exception;462022-3-227.5 DAO模式模式(3) DAO接口public interface IUserDAO public boolean login(String username,String pass

31、word);public int save(User user);public int delete(String username);public int update(String username,User user);public List findAll();public User findByUsername(String username);Java Web程序設(shè)計472022-3-227.5 DAO模式模式(4)DAO實現(xiàn)類DAO實現(xiàn)類實現(xiàn)了DAO接口,并實現(xiàn)了DAO接口中所有抽象方法,完成數(shù)據(jù)庫操作。在DAO實現(xiàn)類中設(shè)計SQL語句,并通過數(shù)據(jù)庫連接類操作SQL語句,DAO實現(xiàn)

32、類往往與具體的底層數(shù)據(jù)庫關(guān)系較為緊密。一個DAO實現(xiàn)類對應(yīng)一張表。每個表都有一個DAO實現(xiàn)類,但是不包括數(shù)據(jù)庫的打開和關(guān)閉。Java Web程序設(shè)計482022-3-227.5 DAO模式模式(4)DAO實現(xiàn)類package DB;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import usebean.Person;/引入引入usebean下得下得Person類類 /刪除操作刪除操作public class UserDA

33、OImpl implements IUserDAOpublic int delete(int userid) throws Exception int count=0;String sql=delete from user where userid=?;PreparedStatement pstmt=null;DataBaseConnection dbc=null;Java Web程序設(shè)計492022-3-227.5 DAO模式模式(4)DAO實現(xiàn)類/下面是針對數(shù)據(jù)庫的操作下面是針對數(shù)據(jù)庫的操作try/連接數(shù)據(jù)庫連接數(shù)據(jù)庫dbc=new DataBaseConnection();pstmt=dbc.getConnection().prepareStatement(sql);pstmt.setInt(1, userid);/進(jìn)行數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論