freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

企業(yè)資產(chǎn)管理系統(tǒng)中電子報表功能的設(shè)計和實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-21 02:11 本頁面
 

【文章內(nèi)容簡介】 ,Plain Ordinary Java Object,Plain Old Java Object,兩個差不多,意思都是普通的Java類,所以也不用去管誰對誰錯。POJO可以看做是簡單的JavaBean(具有一系列Getter,Setter方法的類)。嚴(yán)格區(qū)分這里面的概念沒有太大意義,了解一下就行。 IoCIoC的全稱是Inversion of Control,中文翻譯反向控制或者逆向控制。這里的反向是相對EJB來講的。EJB使用JNDI來查找需要的對象,是主動的,而Spring是把依賴的對象注入給相應(yīng)的類(這里涉及到另外一個概念“依賴注入”,稍后解釋),是被動的,所以稱之為“反向”。(AOP)切面編程就類似于動態(tài)代理,比如你寫了很多方法,在使用這些方法前需要做很多相同的操作,那樣你必須在每個方法前加上很多很多相同的代碼,那樣你的代碼會看起來很冗長,而且寫起來很會很讓人絕望。切面編程(AOP)技術(shù)就能大大的減少你的工作量。AOP技術(shù)涉及到的概念有:aspect,就哪些你要重復(fù)在其他方法前或后或中間執(zhí)行的方法;Pointcut,就是聲明是哪些方法會被插入aspect;,就是聲明在pointcut之前還是之后執(zhí)行;在定義好這三點,你就能實現(xiàn)AOP技術(shù)了。 Hibernate簡介報表實現(xiàn)和數(shù)據(jù)庫的關(guān)系很密切,對Hibernate的介紹會稍為的全面點。Hibernate是一個免費的開源Java包,它使得與關(guān)系數(shù)據(jù)庫打交道變得十分輕松,就像您的數(shù)據(jù)庫中包含每天使用的普通Java對象一樣,同時不必考慮如何把它們從神秘的數(shù)據(jù)庫表中取出(或放回到數(shù)據(jù)庫表中)。它解放了您,使您可以專注于應(yīng)用程序的對象和功能,而不必擔(dān)心如何保存它們或稍后如何找到它們。本文討論以下內(nèi)容:歷史與背景 大多數(shù)應(yīng)用程序都需要處理數(shù)據(jù)。Java應(yīng)用程序運行時,往往把數(shù)據(jù)封裝為相互連接的對象網(wǎng)絡(luò),但是當(dāng)程序結(jié)束時,這些對象就會消失在一團邏輯中,所以需要有一些保存它們的方法。有時候,甚至在編寫應(yīng)用程序之前,數(shù)據(jù)就已經(jīng)存在了,所以需要有讀入它們和將其表示為對象的方法。手動編寫代碼來執(zhí)行這些任務(wù)不僅單調(diào)乏味、易于出錯,而且會占用整個應(yīng)用程序的很大一部分開發(fā)工作量。 優(yōu)秀的面向?qū)ο箝_發(fā)人員厭倦了這種重復(fù)性的勞動,他們開始采用通常的“積極”偷懶做法,即,創(chuàng)建工具,使整個過程自動化。對于關(guān)系數(shù)據(jù)庫來說,這種努力的最大成果就是對象/關(guān)系映射(ORM)工具。 這類工具有很多,從昂貴的商業(yè)產(chǎn)品到內(nèi)置于J2EE中的EJB標(biāo)準(zhǔn)。然而,在很多情況下,這些工具具有自身的復(fù)雜性,使得開發(fā)人員必須學(xué)習(xí)使用它們的詳細規(guī)則,并修改組成應(yīng)用程序的類以滿足映射系統(tǒng)的需要。由于這些工具為應(yīng)付更加嚴(yán)格和復(fù)雜的企業(yè)需求而不斷發(fā)展,于是在比較簡單和常見的場景中,使用它們所面臨的復(fù)雜性反而蓋過了所能獲得的好處。這引起了一場革命,促進了輕量級解決方案的出現(xiàn),而Hibernate就是這樣的一個例子。Hibernate的工作方式 Hibernate不會對您造成妨礙,也不會強迫您修改對象的行為方式。它們不需要實現(xiàn)任何不可思議的接口以便能夠持續(xù)存在。惟一需要做的就是創(chuàng)建一份 XML“映射文檔”,告訴Hibernate您希望能夠保存在數(shù)據(jù)庫中的類,以及它們?nèi)绾侮P(guān)聯(lián)到該數(shù)據(jù)庫中的表和列,然后就可以要求它以對象的形式獲取數(shù)據(jù),或者把對象保存為數(shù)據(jù)。與其他解決方案相比,它幾乎已經(jīng)很完美了。運行時,Hibernate讀取映射文檔,然后動態(tài)構(gòu)建Java類,以便管理數(shù)據(jù)庫與Java之間的轉(zhuǎn)換。在Hibernate中有一個簡單而直觀的API,用于對數(shù)據(jù)庫所表示的對象執(zhí)行查詢。要修改這些對象,(一般情況下)只需在程序中與它們進行交互,然后告訴Hibernate保存修改即可。類似地,創(chuàng)建新對象也很簡單;只需以常規(guī)方式創(chuàng)建它們,然后告訴Hibernate有關(guān)它們的信息,這樣就能在數(shù)據(jù)庫中保存它們。 Hibernate API學(xué)習(xí)起來很簡單,而且它與程序流的交互相當(dāng)自然。在適當(dāng)?shù)奈恢谜{(diào)用它,就可以達成目的。它帶來了很多自動化和代碼節(jié)省方面的好處,所以花一點時間學(xué)習(xí)它是值得的。而且還可以獲得另一個好處,即代碼不用關(guān)心要使用的數(shù)據(jù)庫種類(否則的話甚至必須知道)。我所在的公司就曾有過在開發(fā)過程后期被迫更換數(shù)據(jù)庫廠商的經(jīng)歷。這會造成巨大的災(zāi)難,但是借助于Hibernate,只需要簡單地修改Hibernate配置文件即可。這里的討論假定您已經(jīng)通過創(chuàng)建Hibernate映射文檔,建立了一個關(guān)系數(shù)據(jù)庫,并且擁有要映射的Java類。有一個Hibernate“工具集”可在編譯時使用,以支持不同的工作流。例如,如果您已經(jīng)擁有Java類和映射文檔,Hibernate可以為您創(chuàng)建(或更新)必需的數(shù)據(jù)庫表?;蛘?,僅僅從映射文檔開始,Hibernate也能夠生成數(shù)據(jù)類?;蛘?,它可以反向設(shè)計您的數(shù)據(jù)庫和類,從而擬定映射文檔。還有一些用于Eclipse的alpha 插件,它們可以在IDE中提供智能的編輯支持以及對這些工具的圖形訪問。 如果您使用的是Hibernate 2環(huán)境,這些工具鮮有提供,但是存在可用的第三方工具。使用Hibernate的場合 既然Hibernate看起來如此靈活好用,為什么還要使用其他的工具呢?下面有一些場景,可以幫助您做出判斷(或許通過提供一些比較和上下文,可以有助于鑒別非常適用Hibernate的場合)。如果應(yīng)用對于數(shù)據(jù)存儲的需要十分簡單——例如,您只想管理一組用戶優(yōu)先選擇——您根本不需要數(shù)據(jù)庫,更不用說一個優(yōu)秀的對象關(guān)系映射系統(tǒng)了(即使它也如Hibernate這般易于使用)!從Java ,有一個標(biāo)準(zhǔn)的Java Preferences API可以很好地發(fā)揮這個作用。(在ONJava文章中可以找到有關(guān)Preferences API的更多信息。) 對于熟悉使用關(guān)系數(shù)據(jù)庫和了解如何執(zhí)行完美的SQL查詢與企業(yè)數(shù)據(jù)庫交互的人來說,Hibernate似乎有些礙手礙腳,這就像帶有動力和自動排擋的快艇車會使注重性能的賽車駕駛員不耐煩一樣。如果您屬于這種人,如果您所在的項目團隊擁有一個強大的DBA,或者有一些存儲過程要處理,您可能想研究一下iBATIS。Hibernate 的創(chuàng)建者本身就把iBATIS當(dāng)作是另一種有趣的選擇。我對它很有興趣,因為我們曾為一個電子商務(wù)站點開發(fā)了一個類似的系統(tǒng)(其功能更為強大),而且從那時到現(xiàn)在,我們已經(jīng)在其他環(huán)境中使用過它,盡管在發(fā)現(xiàn)Hibernate之后,在新項目中我們通常更喜歡使用Hibernate。您可以認為,以SQL為中心的解決方案(比如iBATIS)是“反向的”對象/關(guān)系映射工具,而Hibernate是一個更為傳統(tǒng)的ORM。 當(dāng)然,還有其他的外部原因會導(dǎo)致采用另外的方法。比如,在一個企業(yè)環(huán)境中,必須使用成熟的EJB架構(gòu)(或者其他的一些非普通對象映射系統(tǒng))。可以為提供自己的數(shù)據(jù)存儲工具的平臺量身定做代碼,比如Mac OS X39。s Core Data。使用的可能是像XML DTD這樣的存儲規(guī)范,而它根本不涉及關(guān)系數(shù)據(jù)庫。但是,如果您使用的是富對象模型,而且想要靈活、輕松且高效地保存它(無論您是否正要開始或已經(jīng)決定使用關(guān)系數(shù)據(jù)庫,只要這是一個選擇——而且存在可用的優(yōu)秀免費數(shù)據(jù)庫,比如MySQL,或可嵌入Java的HSQLDB,它就應(yīng)該始終是一個選擇),那么Hibernate很可能就是您理想的選擇。您可能會驚訝于節(jié)省的時間之多,以及您將會多么地喜歡使用它。 經(jīng)過一個月的實踐,Hibernate技術(shù)需要為每張表寫一個對應(yīng)的類,類中的成員變量是表中每個字段對應(yīng)的類型和名字。然后,每個對應(yīng)的類,都需要寫出相應(yīng)的DAO,就是增刪改查的方法。這個DAO方法和JDBC中的DAO方法其實差不對,hibernate的方便之處是它能直接保存一個對象進入數(shù)據(jù)庫,那個對象就會成為數(shù)據(jù)庫中的一條記錄,而不用像JDBC那樣一個字段一個字段的賦值,然后保存。Hibernate的所有操作都是針對對象的,而不是針對表中的某一個字段的,操作簡介方便的,深受歡迎。在Hibernate出現(xiàn)的對象有三種狀態(tài):,就是一個對象剛剛new出來,還沒有關(guān)聯(lián)session;,就是這個對象與session關(guān)聯(lián),與數(shù)據(jù)庫的數(shù)據(jù)有對應(yīng),session沒有關(guān)閉,但是事務(wù)沒有被提交。一旦事務(wù)提交后,它就會對數(shù)據(jù)庫產(chǎn)生影響;,session已經(jīng)關(guān)閉,數(shù)據(jù)庫中沒數(shù)據(jù)與之對應(yīng),對它進行改動是不會影響到數(shù)據(jù)庫的。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。下面對這五個核心接口分別加以介紹?! ession接口:Session接口負責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個術(shù)語時,其實指的是Hibernate中的session,而以后會將HttpSesion對象稱為用戶session?! essionFactory接口:SessionFactory接口負責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory?! onfiguration接口:Configuration接口負責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。  Transaction接口:Transaction接口負責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼?! uery和Criteria接口:Query和Cr
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1