国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

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

2019-11-18 13:50:20
字體:
供稿:網(wǎng)友

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

· EJB 組件遠(yuǎn)程接口

// 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;
. . .
}

請(qǐng)注重,假如使用 VisualAge EJB 組件向?qū)В瑒t無需對(duì)此進(jìn)行手工編碼。替代方法是,在 bean 的實(shí)現(xiàn)類中對(duì)此方法編碼之后,通過菜單項(xiàng)來將該方法提升(promote)到 bean 的遠(yuǎn)程接口,然后,將自動(dòng)添加必需的代碼。

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

· 連接到數(shù)據(jù)庫(kù)

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

在調(diào)用存儲(chǔ)過程之前,需要建立一個(gè)到 DBMS 的連接。有兩種方法做得到:使用 1.0 樣式的連接,或者使用 JDBC 2.0 樣式的 DataSource。在 WebSphere 環(huán)境中,通常選用后者,因?yàn)樗峁┻B接池(connection pooling),這可以更有效地使用系統(tǒng)資源。出于這種原因,我們的編碼模式使用 DataSource。

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

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

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

測(cè)試時(shí),在 VisualAge for Java WebSphere 測(cè)試環(huán)境中運(yùn)行使用 DataSource 的 EJB 組件會(huì)很方便。有關(guān)如何在產(chǎn)品發(fā)行版 3.0.2 中這樣做的指示,請(qǐng)參閱 David Zimmerman 所著的 "Creating DataSources in the VisualAge for Java WebSphere Test Environment"(在參考資料中)。

· 調(diào)用存儲(chǔ)過程

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

代碼塊 3 創(chuàng)建即將執(zhí)行的 DAB CallableStatement 對(duì)象。CallableStatement 代表可用來執(zhí)行存儲(chǔ)過程的 SQL。創(chuàng)建完對(duì)象之后,將其元數(shù)據(jù)設(shè)置成在代碼塊 2 中指定的形式。然后將 DatabaseConnection(在代碼塊 1 中創(chuàng)建)與該 CallableStatement 關(guān)聯(lián)。

下一個(gè)任務(wù)很簡(jiǎn)單:需要執(zhí)行 CallableStatement 對(duì)象,這將使 DBMS 運(yùn)行存儲(chǔ)過程。但是,在這樣做之前,必須通過 EJB 客戶機(jī)應(yīng)用程序,將過程的輸入?yún)?shù)設(shè)置成傳入方法的值。代碼塊 4 中顯示了這種邏輯。

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产一级黄色电影| 在线国产一区二区三区| 日本片在线看| 日本动漫理论片在线观看网站| 9色在线视频网站| wwww亚洲| 国产一区二区三区不卡免费观看| 国产亚洲精品自在线观看| 国产一二区视频| 2021天堂中文幕一二区在线观| 国产麻豆视频网站| 国产精品久久久高清免费| 四虎影院成人| 国产三级视频在线| 天天插天天色| 国产精品99999| 欧美性xxxx交| 91久久麻豆| 麻豆网站在线免费观看| 国产精品久久麻豆| 日本视频一二三区中文字幕| 国产麻豆一区二区三区精品| 亚洲综合在线免费| 国产精品冒白浆免费视频| 天堂√中文在线| 国产天堂av| 黄色毛片在线看| 青草视频在线播放| 中文资源在线官网| 国产一区二区三区福利| 性网站在线播放| 一区免费观看| 91九色在线看| 91国内精品久久久久| 国产网红在线| 懂色一区二区三区| 免费国产阿v视频在线观看| 在线观看免费视频一区二区三区| 国产网站免费看| 国产素人视频在线观看| 成人午夜无人区一区二区| av文字幕在线观看| 一本大道五月香蕉| 伊人222成人综合网| 国产日本视频| 国产黄色在线看| 国产成人精品久久一区二区小说| 午夜伦全在线观看| 国产三级在线观看| 国产福利电影在线观看| 9999在线视频| 人人干人人插| 久久精品亚洲7777影院| 超碰免费在线播放| 精品中文字幕不卡在线视频| 老鸭窝av在线| 麻豆网站在线免费观看| 日本在线天堂| 1区2区3区在线| 国产精品视频一区二区三区麻豆| 国产精品麻豆一区二区三区| av超碰在线| 久精品在线观看| 国产精品久久麻豆| av在线资源网| 国产精选在线观看| 国产福利在线视频| yjizz视频网站在线播放| 国产麻豆精品高清在线播放| 2019天天操夜夜操| 久久久久久久久久久久久91| 国产精品一卡二卡三卡| 99精品老司机免费视频| 久久亚洲国产成人亚| 国产日本在线| 欧美一级久久久久久久久大| 国产一二三区在线| 麻豆国产在线播放| 中文资源在线网| 尤物视频在线观看| 欧美午夜电影一区二区三区| 国产精品久久精品牛牛影视| 九九在线免费视频| 亚洲欧美中文字幕在线观看| 中文字幕毛片| 毛片网站在线观看| 97操碰视频| 国产网站在线播放| 久草视频国产| 日本视频三区| 四虎国产精品永久地址998| 国产女主播在线| 国自产拍在线网站网址视频| 亚洲精品午夜级久久久久| 国产精品久久人| 丁香综合五月| 国产永久免费高清在线观看| 亚洲欧美日韩综合精品网| 国产h在线观看| 国产偷窥洗澡视频| 国产麻豆视频网站| www.av在线视频| 在线播放www| 伊人免费视频| 永久av在线| 在线视频福利| 日韩不卡高清| 国产精选一区二区三区不卡催乳| 国产原创av在线| 天天操夜夜摸| 国产不卡视频| 日本h片在线观看| 成人免费一区二区三区牛牛| 国产秒拍福利视频露脸| 日本中文字幕高清视频| 国产日韩欧美一区二区三区视频| 国产美女视频一区二区三区 | sm国产在线调教视频| 青青草在线播放| 尤物网在线观看| av小说在线| 中文字幕亚洲精品视频| 在线视频xx| 成人精品福利| 国产成在线观看免费视频| 99免费视频| 狠狠操五月天| 国产h在线观看| 伊人影院在线播放| 黄色网页网址在线免费| 2018av男人天堂| 天天干天天操天天爽| 中文字幕不卡| www.成人.com| 国产日本视频| 黄色一级视频网站| 在线观看av的网站| 尤物网址在线观看| 久久国产热视频| 在线三级中文| 国产精品xxx电影| 国产中文字幕在线视频| 制服丝袜中文字幕在线观看| 牛牛精品视频在线| 2019中文字幕视频| 成在线人视频免费视频| 伊人免费在线| 国产成免费视频| 国产美女性感在线观看懂色av| 精品视频二区| 国产无遮挡在线视频免费观看| 日韩欧美中文字幕不卡| 国产91久久久久| 国产夫妻视频| 国产二区在线播放| 国产精品久久一区二区三区不卡| 玖玖在线视频| 激情六月婷婷| 另类综合图区| 青青久在线视频免费观看| av在线播放av| heisi视频网在线观看| 在线观看av中文| 精品国产一区二区三区四区阿崩| 国产精品一区二区三区高清在线| 欧美成人亚洲高清在线观看| h网址在线观看| 国产在线观看av| 欧美性猛交xxxxbbbb| 欧美日韩在线视频免费观看 | 国产毛片毛片| 国产女人伦码一区二区三区不卡| www.成人.com| 久久久久久日本一区99| 丁香六月婷婷| 69av二区| wwww在线观看| 国产乱子伦三级在线播放| 天天操夜夜摸| 国产jizz| 九色视频网站| 精品一二三四| 九九热在线观看| 国产精品视频二区三区| 在线观看视频污| 好看的中文字幕在线播放| 国产三级视频在线看| 在线视频中文字幕久| 老师我好爽再深一点的视频| 18加网站在线| 黄网站app在线观看下载视频大全官网| 国产乱视频在线观看| 精品女厕厕露p撒尿| 国产专区在线播放| 精品街拍一区二区| 午夜不卡视频| h网站久久久| 精品国产一区二区三区不卡在线| av中文字幕在线看| 精品欧美日韩一区二区|