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

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

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

    自由飛翔

    我在仰望,java之上

    統(tǒng)計(jì)

    留言簿(2)

    我關(guān)注的blog

    閱讀排行榜

    評(píng)論排行榜

    ibatis擴(kuò)展example類對(duì)數(shù)據(jù)庫分頁的實(shí)現(xiàn)(轉(zhuǎn)載)

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

    mysql:

    sql代碼:

    select  *  from   user   where ... order   by ... limit 10,25  
    根據(jù)以上的語句我們可以對(duì)ibator生成后的代碼進(jìn)行修改。 
    第一修改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 
    在該類中添加兩個(gè)字段和相應(yīng)的getter/setter方法
    Java代碼
    1. protected  String limitClauseStart; //起始參數(shù)   
    2. protected  String limitClauseCount; //數(shù)量參數(shù)  

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

    SqlServer的分頁比較難了,因?yàn)?SqlServer中沒有l(wèi)imit的關(guān)鍵字。 
    看看SqlServer的分頁語句,那當(dāng)然 SqlServer人分布方法有很多種。這里我采用其中的一種。 
    語句如下:

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

    接下來和上面的MySql一樣也進(jìn)行修改 
    修改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 閱讀(3200) 評(píng)論(0)  編輯  收藏 所屬分類: ibatis


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 黄网站色视频免费看无下截| 亚洲国产激情一区二区三区| 女人18毛片a级毛片免费| 亚洲开心婷婷中文字幕| EEUSS影院WWW在线观看免费| 亚洲无码日韩精品第一页| 亚洲一区二区三区久久| 日韩免费一区二区三区在线播放| 亚洲人成人网站在线观看| 一区二区在线免费视频| 久久久久亚洲av成人无码电影 | 亚洲成a人无码亚洲成av无码| 成**人免费一级毛片| 亚洲精品久久无码| 国产色婷婷精品免费视频| 苍井空亚洲精品AA片在线播放 | 亚洲性无码av在线| 一级一级毛片免费播放| 国产亚洲精品激情都市| a级毛片在线视频免费观看| 亚洲成av人片在线观看天堂无码| 免费人成视频在线观看免费| 久久亚洲高清综合| 永久免费AV无码网站国产 | 亚洲人xxx日本人18| 妞干网在线免费观看| 老牛精品亚洲成av人片| 亚洲日韩国产成网在线观看| 中文字幕不卡免费视频| 午夜亚洲av永久无码精品| 亚洲五月午夜免费在线视频| 国产精品亚洲а∨无码播放| 99视频精品全部免费观看| jlzzjlzz亚洲jzjzjz| 最好免费观看韩国+日本 | www.91亚洲| 视频免费在线观看| 精品日韩亚洲AV无码| 国产性生大片免费观看性| 久久亚洲国产成人亚| 57PAO成人国产永久免费视频|