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

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

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

    時(shí)光如水

    我心跳動(dòng)
    posts - 6, comments - 10, trackbacks - 0, articles - 4
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    ValueList原理說明

    Posted on 2006-05-16 16:15 qiqijava 閱讀(2059) 評(píng)論(5)  編輯  收藏 所屬分類: Tag

    ??????????????????????????? ValueList中四個(gè)主要的接口與實(shí)現(xiàn)類

    1. ValueListInfo 封裝Map對(duì)象,含有排序、分頁(yè)、聚焦和提交表單等相關(guān)信息
    2. ValueListHandler接口,實(shí)現(xiàn)類:DefaultValueListHandlerImpl 它是ValueList中的核心類,其定義在配置文件中,調(diào)用getValueList方法返回ValueList對(duì)象
    3. ValueList接口,實(shí)現(xiàn)類:DefaultListBackedValueList 它包含兩個(gè)對(duì)象,1)域?qū)ο蟮慕Y(jié)果集,2)ValueListInfo對(duì)象
    4. ValueListAdapter接口,有以下幾種實(shí)現(xiàn)
    ?○ DefaultWrapperAdapter???????? jdbc操作的適配器
    ?○ EventLogAdapter?????????????? 日志操作的適配器
    ?○ FileSystemAdapter???????????? 文件系統(tǒng)操作的適配器
    ?○ HibernateAdapter????????????? hibernate操作的適配器
    ?○ MappingSqlQueryAdapter??????? iBATIS的sqlMap適配器
    ?
    具體實(shí)現(xiàn)流程

    第一步:從請(qǐng)求中構(gòu)造ValueListInfo對(duì)象,由幫助類ValueListRequestUtil實(shí)現(xiàn)
    ?從請(qǐng)求中取得URL的參數(shù)和系統(tǒng)默認(rèn)值來構(gòu)造ValueListInfo對(duì)象
    ?
    第二步:得到Adapter的實(shí)現(xiàn)類
    ?調(diào)用getBean方法,從配置文件中取得ValueListHandler實(shí)現(xiàn)類,調(diào)用getValueList方法,得到實(shí)體key對(duì)應(yīng)的Adapter,如:
    ?<bean class="net.mlw.vlh.adapter.hibernate3.HibernateAdapter">
    ??<property name="sessionFactory"><ref bean="mySessionFactory"/></property>
    ??<property name="defaultNumberPerPage"><value>10</value></property>
    ??<property name="defaultSortColumn"><value>messageIn.date</value></property>
    ??<property name="defaultSortDirection"><value>desc</value></property>
    ??<property name="hql">
    ??<value>
    ??from User AS vo
    ???/~certNumber: where vo.certNumber like {certNumber} ~/
    ???/~name: where vo.name like {name} ~/
    ???/~certHolder: where vo.certHolder like {certHolder} ~/
    ???/~groupName: where vo.group.name like {groupName} ~/
    ???/~sortColumn: ORDER BY vo.[sortColumn] [sortDirection]~/
    ??</value>
    ??</property>
    ??<property name="defaultFocusPropertyObjectAlias"><value>vo</value></property>
    ??<property name="maxRowsForFocus"><value>160000</value></property>??
    ??<property name="removeEmptyStrings"><value>true</value></property>
    ?</bean>
    第三步:構(gòu)造ValueList對(duì)象,使用DefaultListBackedValueList實(shí)現(xiàn)類
    ?用適配器取得結(jié)果集(如HibernateAdapter),封裝ValueList對(duì)象
    ?ValueList中包含兩個(gè)對(duì)象,1)域?qū)ο蟮慕Y(jié)果集,2)ValueListInfo對(duì)象(分頁(yè)的相關(guān)息)
    ?
    第四步:把ValueList對(duì)象放到WEB的作用域中

    HQL說明:主要通過迭代動(dòng)態(tài)生成HQL語句
    from User AS vo
    ?/~certNumber: where vo.certNumber like {certNumber} ~/?????????? (1)
    ?/~name: where vo.name like {name} ~/???????????????????????????? (2)
    ?/~certHolder: where vo.certHolder like {certHolder} ~/?????????? (3)
    ?/~groupName: where vo.group.name like {groupName} ~/???????????? (4)
    ?/~sortColumn: ORDER BY vo.[sortColumn] [sortDirection]~/???????? (5)

    (1)如果ValueListInfo中包含certNumber變量,如certNumber=100,則vo.certNumber like=100,生成HQL=from User AS vo where vo.certNumber like=100;
    ??????? 如果ValueListInfo中不包含certNumber變量,生成HQL=from User AS vo?? (1)行由空白代替
    其它以此類推
    注意:傳給HQL的每個(gè)變量都要單獨(dú)占一行,就算是類似between and 的語句也要分兩行寫


    評(píng)論

    # re: ValueList原理說明  回復(fù)  更多評(píng)論   

    2006-08-24 08:54 by kite
    寫的不錯(cuò),能不能詳細(xì)點(diǎn)!~我是新手,看的不大懂!

    # re: ValueList原理說明  回復(fù)  更多評(píng)論   

    2006-12-30 11:19 by qiqijava[匿名]
    老兄,我覺得挺細(xì)了,再細(xì)就只能說廢話了,呵呵@kite

    # re: ValueList原理說明[未登錄]  回復(fù)  更多評(píng)論   

    2008-02-27 09:59 by TANG
    很好!!
    3Q

    # re: ValueList原理說明[未登錄]  回復(fù)  更多評(píng)論   

    2008-06-22 17:35 by Joe
    哥們,請(qǐng)教一下怎么設(shè)置 ValueList的多個(gè)字段排序呢? 謝謝

    # re: ValueList原理說明  回復(fù)  更多評(píng)論   

    2008-10-07 11:51 by 學(xué)習(xí)
    哥們啊,可不可以寫個(gè)實(shí)例出來啊,麻煩了

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 青青操免费在线视频| 91短视频免费在线观看| 亚洲视频无码高清在线| 国产亚洲欧洲Aⅴ综合一区| 大学生a级毛片免费观看| 亚洲三级在线免费观看| 日韩电影免费在线观看| sihu国产精品永久免费| 国产精品亚洲а∨天堂2021| 中中文字幕亚洲无线码| 亚洲午夜精品一区二区公牛电影院| 亚洲国产精品久久久久婷婷软件 | 91嫩草私人成人亚洲影院| 伊人婷婷综合缴情亚洲五月| 国产99视频精品免费视频7| 免费看片A级毛片免费看| 亚洲第一成年免费网站| 我的小后妈韩剧在线看免费高清版| 十八禁无码免费网站| 鲁大师在线影院免费观看 | 亚洲精品午夜国产VA久久成人| 亚洲AV中文无码乱人伦在线视色| 国产精品久久免费视频| 天天看片天天爽_免费播放| 野花高清在线观看免费完整版中文| 亚洲视频在线免费播放| 84pao国产成视频免费播放| 99久久免费精品高清特色大片| 亚洲a一级免费视频| 99久久人妻精品免费二区| 777爽死你无码免费看一二区| 18女人毛片水真多免费| 欧洲一级毛片免费| 国色精品卡一卡2卡3卡4卡免费| 99久久久精品免费观看国产| 1024免费福利永久观看网站| 成人片黄网站A毛片免费| 日本免费福利视频| 亚洲VA综合VA国产产VA中| 国产乱辈通伦影片在线播放亚洲 | 亚洲国产精品ⅴa在线观看|