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

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

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

    自由飛翔

    我在仰望,java之上

    統計

    留言簿(2)

    我關注的blog

    閱讀排行榜

    評論排行榜

    ibatis擴展example類對數據庫分頁的實現(轉載)

    文章來源:http://blog.csdn.net/lu_yongchao/article/details/6209166

    mysql:

    sql代碼:

    select  *  from   user   where ... order   by ... limit 10,25  
    根據以上的語句我們可以對ibator生成后的代碼進行修改。 
    第一修改User_sqlMap.xml 
    修改前:

    1. < select   id = "ibatorgenerated_selectByExample"           resultMap = "ibatorgenerated_BaseResultMap"   
    2.      parameterClass = "com.demo.ibatis.beans.UserExample" >   
    3.     select ID, LOGIN_NAME, PASSWORD   
    4.     from user   
    5.      < isParameterPresent >   
    6.          < include   refid = "user.ibatorgenerated_Example_Where_Clause"   />   
    7.                 < isNotNull   property = "orderByClause" >   
    8.                 order by $orderByClause$   
    9.                         </ isNotNull >   
    10.          </ isParameterPresent >   
    11. </ select >  

    修改后:
    1. < select   id = "ibatorgenerated_selectByExample"   resultMap = "ibatorgenerated_BaseResultMap"   
    2.          parameterClass = "com.demo.ibatis.beans.UserExample" >   
    3.         select ID, LOGIN_NAME, PASSWORD   
    4.         from user   
    5.      < isParameterPresent >   
    6.          < include   refid = "user.ibatorgenerated_Example_Where_Clause"   />   
    7.              < isNotNull   property = "orderByClause" >   
    8.                 order by $orderByClause$   
    9.                          </ isNotNull >   
    10.             [b] < isNotNull   property = "limitClauseStart" >   
    11.                 limit   
    12.                 $limitClauseStart$,$limitClauseCount$   
    13.              </ isNotNull > [/b]   
    14.      </ isParameterPresent >   
    15. </ select > 

    重要的是黑色的字體是添加到原來的xml中的。接下來修改UserExample.java 
    在該類中添加兩個字段和相應的getter/setter方法
    Java代碼
    1. protected  String limitClauseStart; //起始參數   
    2. protected  String limitClauseCount; //數量參數  

    接下來就可以通過Dao調用selectByExample()方法測試,好的以上就是MySql的分頁。
    SqlServer:

    SqlServer的分頁比較難了,因為 SqlServer中沒有limit的關鍵字。 
    看看SqlServer的分頁語句,那當然 SqlServer人分布方法有很多種。這里我采用其中的一種。 
    語句如下:

    1.    SELECT   TOP  頁大小 *   
    2.    FROM  TestTable   
    3.    WHERE  (ID  NOT   IN   
    4.           ( SELECT   TOP  頁大小*頁數 id   
    5.           FROM  表   
    6.           ORDER   BY  id))   
    7. ORDER   BY  ID 

    接下來和上面的MySql一樣也進行修改 
    修改xml

    1. < select   id = "ibatorgenerated_selectByExample"   resultMap = "ibatorgenerated_BaseResultMap"   
    2.          parameterClass = "com.demo.ibatis.beans.UserExample" >   
    3.         [b]  < isNotNull   property = "limitClauseStart" >   
    4.             SELETE TOP $limitClauseCount$ * FROM user where (ID NOT IN    
    5.                        (SELECT TOP $limitClauseStart$ ID    
    6.                    </ isNotNull > [/b]   
    7.                     < isNull   property = "limitClauseStart" >   
    8.             SELETE *    
    9.            </ isNull >   
    10.                     FROM user    
    11.         from user   
    12.      < isParameterPresent >   
    13.          < include   refid = "user.ibatorgenerated_Example_Where_Clause"   />   
    14.              < isNotNull   property = "orderByClause" >   
    15.                 order by $orderByClause$   
    16.                                [b]   < isNotNull   property = "limitClauseStart" >   
    17.                      ))order by $orderByClause$   
    18.                      </ isNotNull > [/b]   
    19.                          </ isNotNull >   
    20.      </ isParameterPresent >   
    21. </ select >  

    接下來是ORacle的,和上面都是差不多的這里不多說。 
    語法: 
    select* from(select rownum tid,user.* FROM (select * from user where id>1 order by ID desc)user where where rownum<35) where tid>10; 
    修改Xml,
    1. < select   id = "ibatorgenerated_selectByExample"       resultMap = "ibatorgenerated_BaseResultMap"   
    2.          parameterClass = "com.demo.ibatis.beans.UserExample" >   
    3.         [b]  < isNotNull   property = "limitClauseStart" >   
    4.             select* from(select rownum tid,user.* FROM (   
    5.                    </ isNotNull > [/b]   
    6.                    select * from user   
    7.      < isParameterPresent >   
    8.          < include   refid = "user.ibatorgenerated_Example_Where_Clause"   />   
    9.              < isNotNull   property = "orderByClause" >   
    10.                 order by $orderByClause$                 
    11.                          </ isNotNull >   
    12.                         [b]   < isNotNull   property = "limitClauseStart" >   
    13.                     <![[CDATA )user where where rownum<$limitClauseCount$+$limitClauseStart$+1) where tid>$limitClauseStart$;]]>  
    14.                   </ isNotNull > [/b]   
    15.      </ isParameterPresent >   
    16. </ select >   









    Gavin

    posted on 2012-02-03 10:05 GavinMiao 閱讀(3198) 評論(0)  編輯  收藏 所屬分類: ibatis


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品成人网站在线观看 | 草久免费在线观看网站| MM131亚洲国产美女久久| 免费av片在线观看网站| 一区二区亚洲精品精华液| 亚洲av手机在线观看| 十九岁在线观看免费完整版电影| 99久久国产亚洲综合精品| 亚洲色无码专区在线观看| 又黄又爽又成人免费视频| 九九全国免费视频| 亚洲乱码日产精品BD在线观看| 国产又黄又爽又刺激的免费网址| 免费看黄的成人APP| 亚洲欧美自偷自拍另类视| 亚洲色婷婷六月亚洲婷婷6月| 人妻视频一区二区三区免费| 中国在线观看免费的www| 亚洲精品一二三区| 亚洲AV无码成人专区片在线观看| 情侣视频精品免费的国产| 99精品一区二区免费视频| 四虎精品成人免费视频| 亚洲精品二三区伊人久久| 国产亚洲精品成人AA片新蒲金| 欧美日韩国产免费一区二区三区| 久久精品无码专区免费| 亚洲精品无码av片| 亚洲黄色在线网站| 亚洲日韩欧洲乱码AV夜夜摸| 免费v片视频在线观看视频| 亚洲一级毛片免费看| 中国一级毛片视频免费看| 亚洲国产精品成人综合色在线| 亚洲理论片在线观看| 亚洲午夜福利717| www.亚洲精品| 免费无码不卡视频在线观看| 日韩在线播放全免费| 国产成人久久AV免费| 九九久久国产精品免费热6|