<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


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


    網站導航:
     
    主站蜘蛛池模板: 亚美影视免费在线观看| 国产成人va亚洲电影| 亚洲日本久久一区二区va| 国产色在线|亚洲| 国产成人人综合亚洲欧美丁香花| 特级无码毛片免费视频| 99在线免费视频| 亚洲高清视频免费| 四虎成人免费大片在线| 亚洲国产精品成人久久蜜臀| 亚洲人成网77777亚洲色| 亚洲精品美女视频| 国产精品亚洲av色欲三区| 中文字幕不卡免费高清视频| 亚洲日产2021三区在线| 亚洲a在线视频视频| 国产国拍精品亚洲AV片| 久久精品国产亚洲AV电影| 亚洲人成电影福利在线播放| 亚洲影视自拍揄拍愉拍| 色妞www精品视频免费看| 一区二区三区四区免费视频 | 国产精品国产亚洲区艳妇糸列短篇 | 亚洲综合精品香蕉久久网| 亚洲黄色三级网站| 亚洲AV网一区二区三区| 久久精品一区二区免费看| 免费高清av一区二区三区| 国产亚洲精品资源在线26u| 亚洲一区精彩视频| 久久久精品视频免费观看| 免费人成网站在线观看10分钟| 亚洲国产91精品无码专区| 久久亚洲精精品中文字幕| 国产精品亚洲一区二区三区久久 | 一个人看的在线免费视频| 日韩视频在线精品视频免费观看| 亚洲国产一区二区三区| 亚洲人成综合在线播放| 亚洲综合一区二区三区四区五区| 中文字幕亚洲码在线|