亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

將DBMS存儲過程封裝為會話EJB組件中的方法(2)

2019-11-18 13:50:20
字體:
來源:轉載
供稿:網友

  將DBMS存儲過程封裝為會話EJB組件中的方法(2)

· EJB 組件遠程接口

// EnterPRise javaBean Remote Interface for Analysis session bean
public interface Analysis extends javax.ejb.EJBObject {
// remote interface for our lookupClient method
com.ibm.db.CallableStatement lookupClient(java.lang.Integer clientId)
throws java.rmi.RemoteException;
. . .
}

請注重,假如使用 VisualAge EJB 組件向導,則無需對此進行手工編碼。替代方法是,在 bean 的實現類中對此方法編碼之后,通過菜單項來將該方法提升(promote)到 bean 的遠程接口,然后,將自動添加必需的代碼。

編碼存儲過程封裝器方法
現在可以集中講述 bean 實現類本身,將在該實現類中包括調用存儲過程的代碼,并將其所有輸出作為 com.ibm.db.CallableStatement 對象返回。此代碼樣本包含調用 CLIENTREPORT 存儲過程的 lookupClient(...) 方法的完整實現。將在后續章節中具體講解每個代碼塊(參考代碼中的注釋)的邏輯,以便您更好地理解如何為自己的存儲過程實現類似的方法。

· 連接到數據庫

讓我們更具體地查看此代碼的各部分。

在調用存儲過程之前,需要建立一個到 DBMS 的連接。有兩種方法做得到:使用 1.0 樣式的連接,或者使用 JDBC 2.0 樣式的 DataSource。在 WebSphere 環境中,通常選用后者,因為它提供連接池(connection pooling),這可以更有效地使用系統資源。出于這種原因,我們的編碼模式使用 DataSource。

除了確定要建立的連接類型之外,還應該考慮要將連接邏輯放在 bean 中的什么地方。有多個選擇:

直接放在封裝器方法(wrapper method)中
放在私有輔助方法(helper method)中
放在 ejbCreate() 方法中(并將相應的斷開邏輯放在 ejbRemove() 方法中)
這些方法的利弊超出了本文的范圍。為簡單起見,樣本代碼將所有連接/斷開邏輯直接放在方法中。

代碼塊 1 顯示了在使用 VisualAge for Java 3.0.2 和 WebSphere 3.0.2.1 時,如何使用 DataSource 進行連接。我們創建了一個散列表,在其中填充適合于 WebSphere 環境的值,然后建立一個 InitialContext。代碼的以下幾行利用該初始上下文和 Java 命名和目錄接口 (JNDI) 服務,來獲得期望的 DataSource 的索引,我們以前在 WebSphere 中用“治理控制臺”創建了該 DataSource。本例中的 DataSource 名為 LocalDB2Sample。下一步,使用該 DataSource 來獲得一個連接,并向其傳遞合適的數據庫用戶標識和口令。從連接池獲得連接之后,可以將該信息提供給 DAB DatabaseConnection 對象,來設置它所需的連接規范。最后,將 autoCommitMode 設置成 false,因為 EJB 組件負責處理事務治理服務。

測試時,在 VisualAge for Java WebSphere 測試環境中運行使用 DataSource 的 EJB 組件會很方便。有關如何在產品發行版 3.0.2 中這樣做的指示,請參閱 David Zimmerman 所著的 "Creating DataSources in the VisualAge for Java WebSphere Test Environment"(在參考資料中)。

· 調用存儲過程

建立了連接之后,可以集中講述如何調用存儲過程了。如封裝器方法編碼示例中的代碼塊 2 所示,首先創建一個 DAB StatementMetaData 對象,該對象中有存儲過程的規范。下一步,定義要執行的 SQL 語句。在這里將要調用 CLIENTREPORT 過程,該過程需要一個輸入參數(用于客戶標識)和兩個輸出參數(用于客戶名稱和電子郵件地址)。下一步,將參數添加到規范中。對于每個過程參數,都指定了參數名,其數據類型及其參數模式。

代碼塊 3 創建即將執行的 DAB CallableStatement 對象。CallableStatement 代表可用來執行存儲過程的 SQL。創建完對象之后,將其元數據設置成在代碼塊 2 中指定的形式。然后將 DatabaseConnection(在代碼塊 1 中創建)與該 CallableStatement 關聯。

下一個任務很簡單:需要執行 CallableStatement 對象,這將使 DBMS 運行存儲過程。但是,在這樣做之前,必須通過 EJB 客戶機應用程序,將過程的輸入參數設置成傳入方法的值。代碼塊 4 中顯示了這種邏輯。

檢索存儲過程的輸出并返回到調用程序
在封裝器方法編碼示例的代碼塊 5 中,將檢索存儲過程返回的輸出參數。想起來了嗎?這些參數代表 Web 站點客戶的名稱和電子郵件地址。但是,不需要顯式地檢索存儲過程返回的結果集。(這些結果集包含有關客戶投資總額和公告板發表信息的數據)。您可能要問:為什么會這樣呢?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产丝袜一区二区三区免费视频| 精品国产一区二区三区久久| 亚洲2020天天堂在线观看| 97视频免费在线看| 亚洲国产成人久久综合| 久久夜色精品亚洲噜噜国产mv| 亚洲中国色老太| 最好看的2019的中文字幕视频| 亚洲男人天堂2024| 国产精品色视频| 亚洲国产欧美精品| 亚洲精品欧美日韩专区| 精品久久久久久久久久久久久| 亚洲 日韩 国产第一| 国产福利视频一区二区| 91精品国产91久久久久久最新| 国产精品h片在线播放| 精品国产一区二区三区久久| 中日韩美女免费视频网址在线观看| 国内精品国产三级国产在线专| 国产精品色悠悠| 国产精品狼人色视频一区| 成人免费视频xnxx.com| 日本19禁啪啪免费观看www| 欧美视频专区一二在线观看| 国产精品视频在线观看| 国产精品日韩在线一区| 欧美日韩国产丝袜另类| 欧美在线精品免播放器视频| 欧美日韩xxx| 国产精品久久久久久久久久久久久久| 久久综合国产精品台湾中文娱乐网| 日韩精品免费看| 久久婷婷国产麻豆91天堂| 久久精品在线视频| 国产精品爱久久久久久久| 日韩精品视频免费在线观看| 久久视频在线播放| 亚洲激情免费观看| 97在线视频国产| 亚洲成人a**站| 在线播放国产精品| 福利视频一区二区| 久久成人精品一区二区三区| 久热国产精品视频| 欧美专区在线播放| 日韩在线观看免费| 亚洲自拍偷拍在线| 亚洲视频在线免费看| 成人性生交大片免费看小说| 日韩av电影国产| 成人免费观看49www在线观看| 亚洲人成77777在线观看网| 国产日本欧美一区二区三区在线| 欧美黄色免费网站| 国产精品久久久久影院日本| 国产精品视频26uuu| 91爱爱小视频k| 国内精久久久久久久久久人| 日韩中文字幕在线| 久久免费国产精品1| 高潮白浆女日韩av免费看| 亚洲欧美综合区自拍另类| 亚洲国产精品网站| 国产精品久久一| 久久久精品久久久| 欧美与欧洲交xxxx免费观看| 一区二区欧美亚洲| 中文字幕日韩精品在线| 国产日韩欧美影视| 国产自摸综合网| 亚洲第一男人天堂| 精品久久久久久| 国产欧美精品xxxx另类| 国产精品久久97| 96精品久久久久中文字幕| 国产日韩欧美中文在线播放| 成人自拍性视频| 精品调教chinesegay| www高清在线视频日韩欧美| 久久久久久久成人| 国产成人97精品免费看片| 久久久久久久一| 97国产真实伦对白精彩视频8| 精品人伦一区二区三区蜜桃网站| 亚洲欧美在线免费| 亚洲精品国产拍免费91在线| 色黄久久久久久| 日韩电影在线观看中文字幕| 欧美性一区二区三区| 欧美精品日韩三级| 久青草国产97香蕉在线视频| 国产成人一区二区三区| 日韩国产欧美精品在线| 久久久免费电影| 欧美激情第99页| 精品国产乱码久久久久久虫虫漫画| 日韩av不卡电影| 日韩专区在线观看| 97视频在线观看视频免费视频| 日韩中文字幕在线播放| 国产精品久久一区主播| 欧美日韩在线视频一区二区| 日韩中文字在线| 热99精品只有里视频精品| 欧美电影免费观看电视剧大全| 欧美大片大片在线播放| 久久久久久成人精品| 日韩电影中文 亚洲精品乱码| 亚洲一区二区中文字幕| 国产视频在线观看一区二区| 欧美放荡办公室videos4k| 精品欧美一区二区三区| 红桃视频成人在线观看| 亚洲第一视频在线观看| 欧美一区二区三区四区在线| 97久久精品国产| 97视频在线观看视频免费视频| 国产成人精品在线播放| 国产一区二区激情| 国产精品香蕉在线观看| 亚洲精品aⅴ中文字幕乱码| 国产美女直播视频一区| 欧美成人午夜激情在线| 国产精品麻豆va在线播放| 97热在线精品视频在线观看| 久热精品视频在线| 在线观看欧美日韩国产| 国产美女91呻吟求| 国内精品小视频| 日韩综合中文字幕| 国产伦精品一区二区三区精品视频| 欧美成人合集magnet| 久久人人爽人人| 国产在线日韩在线| 日本伊人精品一区二区三区介绍| www国产精品com| 少妇精69xxtheporn| 久久亚洲一区二区三区四区五区高| 97国产精品免费视频| 色婷婷综合久久久久| 久热精品视频在线观看| 欧美激情一二三| 欧美亚洲另类视频| 亚洲一区亚洲二区亚洲三区| 91精品中国老女人| 欧美精品日韩三级| 国产www精品| 亚洲国产精品电影在线观看| 亚洲一区二区三区视频播放| 久久在线视频在线| 国产成+人+综合+亚洲欧洲| 欧美精品videossex性护士| 亚洲色图激情小说| 日韩成人激情视频| 亚洲视频axxx| 亚洲国产97在线精品一区| 久久艹在线视频| 欧美最近摘花xxxx摘花| 欧美性猛交99久久久久99按摩| 欧美性xxxx在线播放| 国产精品免费一区| **欧美日韩vr在线| 亚洲成人aaa|