<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 28,  comments - 15,  trackbacks - 0

    上一節:http://m.tkk7.com/zhanglongsr/articles/190616.html

    1.1. ResultSetDynaClass

    ?????? 有些時候,我們會遇到需要一個 JavaBean 來持久化多個數據庫表的情況,像上面提到的報表的例子。假如 Ta? Tb Tc 三個表分別代表 A B C3 個報表,現在假設,如果要減少開發人員的代碼編寫,而且表結構有著一定的相似性,那么我們會如何做?就目前來看,最簡單的莫過于減少表的持久化工作,可以讓一個 JavaBean 來維護多個表的持久化。

    ?????? 我們可以使用 DynaBean 構建動態的數據庫領域模型,但現在我們面臨的一個問題是我們如何獲得有效的數據庫表的相關字段來構建這個 DynaBean

    ?????? ResultSetDynaClass 封裝了 ResultSet ,它能夠幫助我們從一 ResultSet 中取出對應的一組屬性。

    ?????? 另外, ResultSetDynaClass 能根據執行的 sql 結果集自動為用戶返回一組 DynaBean ,從而減少用戶創建 DynaBean 的工作量。

    ??????

    示例代碼:

    ?????? ? Connection conn = ...;

    ? ??? ??Statement stmt = conn.createStatement();

    ? ??? ??ResultSet rs = stmt.executeQuery

    ????? ("select account_id, name from customers");

    ? ??? ??Iterator rows = (new ResultSetDynaClass(rs)).iterator();

    ? ??? ??while (rows.hasNext()) {

    ????? DynaBean row = (DynaBean) rows.next();

    ????? System.out.println("Account number is " +

    ?? ??????????????????????row.get("account_id") +

    ???????????????????????? " and name is " + row.get("name"));

    ? ??? ??}

    ? ??? ??rs.close();

    1.2. LazyValidatorActionForm??

    從某種意義上來說, LazyValidatorActionForm 也是一種 DynaBean ,因為 LazyValidatorActionForm 繼承于 LazyValidatorForm LazyValidatorForm 實現了 DynaBean 接口。但是從開發的層次角度考慮,我還是單獨把它提出來。

    ?????? API 中可以觀察到, LazyValidatorActionForm 繼承于 LazyValidatorForm ,撇開 LazyValidatorActionForm validate() 方法, LazyValidatorActionForm 并沒有提供其他方法,那么 LazyValidatorActionForm 的動態特性完全是從 LazyValidatorForm 繼承而來。

    ?????? 我們現在虛擬一個需求環境,假設有一個學生成績錄入頁面,課程構成了頁面的列,學生的各科成績構成了頁面的行,從而我們知道,頁面表達學生成績的文本框應該是動態生成的,當然表達學生成績的文本框的名稱與學生和課程有關,但現在我們忽略這一點,只是單純的從頁面的 Form 的解析考慮。

    ?????? 頁面控件的解析可用代碼表示如下:

    ?

    ?

    代碼示例:

    ?????? // 假設通過邏輯處理,得到頁面一個學生的一門課程的成績控件名稱

    ?????? String control1 = “score_student1_course1”;

    ?????? String control2 = “score_student1_course2”;

    ??????

    ?????? String value1 = “85”;

    ?????? String value2 = “86”;

    ?

    ?????? LazyValidatorActionForm lazyForm = new LazyValidatorForm();

    ?????? lazyForm.set(control1, value1);

    ?????? lazyForm.set(control2,value2);

    ?

    ?????? // 如果頁面提交后,你可以這樣獲取

    ?????? Map map = lazyForm. getMap();

    ??????

    ?????? // 然后你就可以對這個 map 進行處理,這要看你的處理邏輯嘍!

    ?

    ? ?

    ?

    ?????? ???????????????????????????????????????????????????????????????????????????? 作者:張興龍

    posted on 2008-06-17 15:36 zhangxl 閱讀(191) 評論(0)  編輯  收藏 所屬分類: common

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類(17)

    隨筆檔案(28)

    文章分類(30)

    文章檔案(30)

    相冊

    收藏夾(2)

    hibernate

    java基礎

    mysql

    xml

    關注

    壓力測試

    算法

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 96297
    • 排名 - 601

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲一区免费视频| 亚洲精品成人网站在线播放| 亚洲A∨精品一区二区三区下载| 亚欧免费视频一区二区三区| 亚洲黄色免费网站| 日本人的色道免费网站| 亚洲国产人成在线观看| A级毛片内射免费视频| 伊人久久五月丁香综合中文亚洲 | 亚洲精品字幕在线观看| 大地资源在线资源免费观看| 亚洲AV无码一区二区乱孑伦AS| 一级毛片成人免费看免费不卡| 亚洲精品成人图区| 日韩视频在线免费| 国产99视频精品免费视频76| 亚洲AV第一页国产精品| 手机看黄av免费网址| 亚洲精品中文字幕| 亚洲美女在线国产| 性无码免费一区二区三区在线| 亚洲成AV人片久久| 日韩成人在线免费视频| 成人免费乱码大片A毛片| 久久精品国产亚洲AV麻豆网站| AV片在线观看免费| 和老外3p爽粗大免费视频| 亚洲最大的成网4438| 99久久免费精品国产72精品九九| 污污视频免费观看网站| 亚洲av福利无码无一区二区| 成年18网站免费视频网站| 一区二区三区免费看| 亚洲电影在线免费观看| 日日操夜夜操免费视频| 免费国产成人18在线观看| 国产AV旡码专区亚洲AV苍井空| 亚洲裸男gv网站| 一本无码人妻在中文字幕免费| 成人a毛片免费视频观看| 久久精品国产亚洲av日韩|