<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)航:
     
    主站蜘蛛池模板: 在线精品亚洲一区二区小说| 成全影视免费观看大全二| 久久久久无码专区亚洲av| 亚洲狠狠色丁香婷婷综合| 午夜视频免费成人| 337p日本欧洲亚洲大胆人人| 免费日本黄色网址| 成年大片免费视频播放一级 | 黄网站在线播放视频免费观看 | 免费无码AV一区二区| 亚洲黄黄黄网站在线观看| eeuss影院免费92242部| 亚洲国产精品无码久久SM| 久久免费观看国产99精品| 亚洲国产精品网站久久| 日本特黄a级高清免费大片| 伊人久久国产免费观看视频| 亚洲精品无码精品mV在线观看| 久9热免费精品视频在线观看| 亚洲国产午夜精品理论片| 全免费A级毛片免费看网站| 日本在线观看免费高清| 久久青草亚洲AV无码麻豆| 免费99精品国产自在现线| 国产精品亚洲一区二区无码| 亚洲熟妇丰满多毛XXXX| 亚洲美女免费视频| 美女尿口扒开图片免费| 亚洲熟妇av一区二区三区| 四虎永久在线精品免费观看视频| 国产精品亚洲lv粉色| 亚洲成A人片在线观看无码不卡| 久久久久国产精品免费免费搜索| 国产成人亚洲午夜电影| 亚洲AV日韩AV永久无码免下载 | 亚洲卡一卡2卡三卡4卡无卡三| 丁香花免费高清视频完整版| 一区二区三区视频免费| 亚洲国色天香视频| 亚洲伊人成无码综合网| 青青青免费国产在线视频小草|