《框架的目的》word版_第1頁
《框架的目的》word版_第2頁
《框架的目的》word版_第3頁
《框架的目的》word版_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、.啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊但是SpringProUtils,SpringPro2MapUtils對使用者做了某些

2、限制,如存儲過程中必須有result,bz這兩個out類型的值.如果要更加靈活的使用本框架,則應(yīng)使用DefaultSpringProcedure.啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

3、啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊框架的目的啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊1 框架的目的myf

4、ramework最原始的目的是簡化java調(diào)用存儲過程的復(fù)雜度,利用它可以:1、自動返回結(jié)果集;1、自動處理blob、clob;2、自動將游標(biāo)填充到List->Bean;3、填充時自動進(jìn)行類型轉(zhuǎn)化。隨著使用的推進(jìn),myframework框架又加入了一些新的元素,如:自動分頁組件;能夠處理post和get的字符編碼過濾器;能在websphere中使用的webwork分發(fā)器;自定義html組件父類;權(quán)限控件父類;文件、byte、object、base64等轉(zhuǎn)化工具;sql查詢結(jié)果集直接填充和類型轉(zhuǎn)化等。Myframework還在不斷發(fā)展中。2 使用前提由于myframework使用了spri

5、ng,因此,在使用myframework時,應(yīng)確保你的工程中含有spring1.2.8以上jar及其他必須jar,如jta、jarkat相關(guān)包等。某些功能,如權(quán)限控件,可能需要webwok相關(guān)jar。在使用myframework時,應(yīng)在spring相關(guān)配置文件中配置dataSource、lobHandler。3 框架實現(xiàn)的功能1. java-oracle存儲過程接口2. java-sql接口3. 字符編碼過濾器4. 自動分頁工具5. webwork在websphere中的分發(fā)器6. 自定義html組件基類7. 權(quán)限組件基類8. byte、file、object、base64轉(zhuǎn)化工具4 框架的使

6、用介紹4.1 java-oracle存儲過程接口一般來說,java與oracle存儲過程交互時,應(yīng)采用SpringProUtils類或SpringPro2MapUtils類,兩者都可以與存儲過程進(jìn)行交互并返回結(jié)果集Map,不同的是,SpringProUtils將游標(biāo)類型(Cusor)返回的結(jié)果集放在List<bean>中,而SpringPro2MapUtils將游標(biāo)類型(Cursor)返回的結(jié)果集放在Map中。但是SpringProUtils、SpringPro2MapUtils對使用者做了某些限制,如存儲過程中必須有result、bz這兩個out類型的值。如果要更加靈活的使用本框

7、架,則應(yīng)使用DefaultSpringProcedure類,只是使用起來稍微麻煩一些。4.1.1 SpringProUtils1使用前提必須有dataSource;游標(biāo)類型必須為t_Cursor可選lobHandler【用于處理blob、clob】;存儲過程必須有result和bz兩個out變量,其中result1表示存儲過程發(fā)生異常,bz則說明了異常原因;2產(chǎn)生SpringProUtils對象SpringProUtils spu = new SpringProUtils(dataSource);或SpringProUtils spu = new SpringProUtils(dataSour

8、ce,lobHandler);3SpringProUtils主要方法1)Map exeProc2(String proc,Map map)輸入?yún)?shù)proc為存儲過程的說明,如 proc=”p_test.getlst(pIn in varchar2,rcOut out t_Cursor,result out integer,bz out varchar2)”;map為存儲過程所需的輸入?yún)?shù),若沒有,則可為null。輸出參數(shù)輸出的結(jié)果為map,其中包含了所有的返回值。如上例的存儲過程,則map中有三個值,一個是result(Integer),一個是bz(String),一個是rcOut(List)

9、;可以通過MyMapUtils分別取出:MyMapUtils.getInt(map,”result”);MyMapUtils.getString(map,”bz”);MyMapUtils.getListByKey(map,”rcOut”);2) Map exeProc2(String proc,Object bean)輸入?yún)?shù)proc為存儲過程的說明,如 proc=”p_test.getlst(pIn in varchar2,rcOut out t_Cursor,result out integer,bz out varchar2)”;bean為存儲過程所需的輸入?yún)?shù),若沒有,則可為null,

10、在使用此方法時,實質(zhì)上是將bean直接轉(zhuǎn)化為map【轉(zhuǎn)化規(guī)則,在字段名后加上Pin,若不需要加Pin,則調(diào)用Map exeProc2Raw(String proc,Object bean)】。輸出參數(shù)輸出的結(jié)果為map,其中包含了所有的返回值。如上例的存儲過程,則map中有三個值,一個是result(Integer),一個是bz(String),一個是rcOut(List);可以通過MyMapUtils分別取出:MyMapUtils.getInt(map,”result”);MyMapUtils.getString(map,”bz”);MyMapUtils.getListByKey(map,”

11、rcOut”);3)Map exeProc2Raw(String proc,Object bean)用法如同2)exeProc2(String proc,Object bean),只是在bean轉(zhuǎn)為map是,map的key不加Pin而已。4)getkeyValueMap (String proc,Map map)使用時,存儲過程必須有一個叫rcOut的游標(biāo)返回,在此游標(biāo)中,需包含key、value兩個字段,這樣就會組裝一個key、value的鍵值對map。5)Result exeProc(String proc,Map map)使用方法與exeProc2類似,只是在result1時,并不拋出R

12、untimeException,需自己處理。此方法返回一個Result對象,其中包含三個成員,即code,實質(zhì)上為result的值;bz;result,實質(zhì)上放了返回值map。6)Result exeProc(String proc,Object bean)參照2和57)Result exeProcRaw(String proc,Object bean)參照3和54.1.2 SpringPro2MapUtils與SpringProUtils的使用方法基本相同,只是游標(biāo)類型的返回值放在map中,而不是匹配進(jìn)bean4.1.3 DefaultSpringProcedure deprecated使用

13、此類,則是最靈活的,只是稍微復(fù)雜一點,所以一般情況下,不推薦使用。如:String parameters = "rcOut out t_Cursor,result out integer,bz out varchar2"String procName = "testcall"Map parameterValues = new HashMap();DefaultSpringProcedure dsp = new DefaultSpringProcedure();dsp.setDataSource(ds);dsp.setProcName(procName);

14、dsp.setParameters(parameters);dsp.setParameterValues(parameterValues);dsp.initialize();Map result = dsp.execute();List lst = MyMapUtils.get(result, "rcOut");Int rcode = MyMapUtils.getInt(result,”result”);String bz = MyMapUtils.getString(result,”bz”);4.2 java-sql接口使用此接口,可以將sql的返回記錄集直接匹配進(jìn)相關(guān)L

15、ist<bean>4.2.1 AutoResultJdbcTemplate1.使用前提:使用此類,需要有dataSource可選的bean類型,若null,則直接放入LazyDyncBean2.主要方法List query(String sql,Object params)將結(jié)果集直接放入List<bean>或List<LazyDyncBean>5 框架的發(fā)展方向:啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

16、啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊框架的目的啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊但是SpringProUtils,SpringPro2MapUtils對使用者做了某些限制,如存儲過程中必須有result,bz這兩個out類型的值.如果要更加靈活的使用本框架,則應(yīng)使用DefaultSpringPr

溫馨提示

  • 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

提交評論