麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

將存儲過程封裝為EJB組件的方法

2019-11-18 15:45:06
字體:
來源:轉載
供稿:網友

  集成 Web 應用服務器和數據庫治理 (DBMS) 技術是很多新型商業應用的常見需求。在本文中,我們將討論該集成的一個方面:如何在會話 EnterPRise javaBeans (EJB) 組件中設計與開發封裝或調用現有 DBMS 存儲過程的方法。
您應該熟悉 EJB 技術、結構化查詢語言 (SQL) 和 Java 數據庫連接 (JDBC) 的基本知識,以便充分理解本文。

  假如您正致力于需要訪問或修改在 DMBS 中數據的 Web 應用程序開發,那么可能已經在向基于 EJB 的設計轉移。您可能會發現,通過使會話 EJB 組件利用 DBMS 存儲過程,可以減少編碼和維護工作,并可能提高數據訪問性能。

  一些公司多年來一直在使用存儲過程(stored procedure),很大程度上是因為它們可以幫助減少網絡通信量,并提高分布式計算環境中的性能。通常,這些過程包含涉及多數據庫操作的重要業務邏輯。遠程應用程序調用這些過程,在 DMBS 服務器上執行它們所包含的 SQL 語句。當然,過程結束時,所有結果都返回給應用程序。

  這些舊有存儲過程對 Web 應用通常是有用的。與其在 EJB 組件中復制這些邏輯,為什么不將這些過程作為方法封裝在會話 bean 中呢?這樣可以避免 DBMS 服務器和 EJB 組件中的冗余代碼 -- 在考慮開發、調試和維護開銷時,冗余代碼將損耗開發效率。這還可能帶來提高性能的好處。調用存儲過程可以減少 EJB 組件原本不得不發出的 SQL 語句數量,從而減少與遠程 DBMS 的通信開銷。

  入門

  現在明白為什么要從會話 bean 調用存儲過程了吧,下面我們看看如何開始。首先,需要使用適當的開發環境,該環境應該包括一個帶有內置 EJB 支持的 Java 開發工具,一個 Web 應用服務器和一個關系 DBMS。我的參考配置包括 VisualAge for Java 企業版 3.0.2,WebSphere application Server 高級版 3.0.2.1,以及 DB2 V7.1,所有這些都安裝在一個 Windows NT 系統上。有關如何配置該環境以支持本文所述工作的具體信息,請參閱 "Leveraging DBMS Stored Procedures through Enterprise JavaBeans"(位于參考資料中)或參考產品手冊。

  有了正確的軟件環境,就可以開始了。雖然我們要討論的編碼模式可能適合于無狀態會話(stateless session) bean,但它也可使用有狀態會話(stateful session) bean 組件。但是,因為無狀態會話 bean 比有狀態會話 bean 消耗的系統資源更少,而且涉及的代碼也更少,所以通常建議使用無狀態會話 bean。

  首先要考慮的設計問題是如何在存儲過程和 EJB 組件之間映射數據。存儲過程可能需要多個輸入、輸出和輸入/輸出參數,并返回一個或多個結果集(代表數據行)。除非要對不同類型的過程使用不同的編碼模式,您需要編寫 EJB 組件以便處理所有這些可能性。

  處理輸入(或者輸入/輸出)參數很簡單:將存儲過程需要的每個參數映射成 EJB 組件的輸入參數。但是,處理存儲過程的輸出比較棘手??赡苡卸鄠€輸出參數和多個結果集要傳回調用程序,需要將這些作為一個可序列化的對象返回,以符合 EJB 規范。可以編寫自己的類,使其可以將這些數據打包成一個對象,并在該對象中包括所有必須的元數據。(該元數據將描述對象的內部結構,以便客戶機知道如何處理。)但這需要大量工作。

  假如正在使用 VisualAge for Java 和 WebSphere,那么,有個更好的選項:使用它們的數據訪問 Bean (DAB) 庫。該庫包含一些提供位于基本 JDBC 之上的函數層的類??赡軙l現 com.ibm.db.CallableStatement 類非凡方便,因為它答應創建一個可序列化的對象,該對象包含所有從存儲過程返回的輸出,包括多個結果集(假如有的話)和相關元數據。還有一個好處是,該庫設計成可以支持任何支持 JDBC 的數據源,因此,它可以使 bean“與 DBMS 無關”。有了 DAB 庫,就可以用一個編碼模式在會話 EJB 組件中封裝任何存儲過程。甚至可以在 EJB 客戶機中使用一個通用的編碼模式,來處理任何從封裝器方法返回的結果。 回顧開發任務

  我們來討論一下使用通用編碼模式,來集成 EJB 組件和 DBMS 存儲過程的步驟:

  確定要將哪個存儲過程封裝成 EJB 方法。假如該過程不存在,則遵循 DBMS 標準過程來創建和調試。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产91av视频 | 黄wwww| 精品久久久久久国产三级 | 国产免费永久在线观看 | 久久99久久98精品免观看软件 | 极品xxxx欧美一区二区 | 一级黄色影院 | 国产精品剧情一区二区在线观看 | 亚洲影视在线 | 午夜影院a| 性生活视频软件 | 黄网站在线观 | 九九精品在线观看 | 久久久久久久久久网 | 国产三级精品最新在线 | 欧美大逼网 | 一级做受大片免费视频 | 欧美中文字幕一区二区三区亚洲 | www.国产一区.com | 国产成年免费视频 | 亚洲人成网站在e线播放 | 亚州精品在线视频 | 福利在线小视频 | 嫩草www| 国产小视频在线 | 国产精品成人av片免费看最爱 | 黄色高清视频网站 | 国产69精品久久久久99尤 | 一边吃奶一边摸下娇喘 | 露脸各种姿势啪啪的清纯美女 | 91在线视频导航 | 黄污视频在线看 | 精品久久久久久久久久中文字幕 | 久久成人黄色 | av在线免费在线观看 | 欧美城网站地址 | 护士hd老师fre0性xxx | 国产精品午夜在线观看 | 福利在线小视频 | 国产美女视频一区二区三区 | 色偷偷欧美 |