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

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

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

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評(píng)論 :: 0 Trackbacks

    =======分頁BEAN========

    import java.util.List;

    /**
     * ibatis分頁Bean
     * @author Administrator
     *
     */
    public class PageUtil {

     private int curPage = 0; //當(dāng)前頁
     private int pageSize = 0; //每頁多少行
     private int endSize ; //用于not in(select top endSize id)不在多少行內(nèi)
     private int totalRow ; //共多少行
     private int totalPage ; //共多少頁
     
     public int getCurPage() {
      return curPage;
     }
     public void setCurPage(int curPage) {
      
      int temp = pageSize * (curPage-1);
      this.setEndSize(temp);
      this.curPage = curPage;
     }
     public int getEndSize() {
      return endSize;
     }
     public void setEndSize(int endSize) {
      this.endSize = endSize;
     }
     public int getPageSize() {
      return pageSize;
     }
     public void setPageSize(int pageSize) {
      this.pageSize = pageSize;
     }
     public int getTotalRow() {
      return totalRow;
     }
     public void setTotalRow(int totalRow) {
      
      totalPage = totalRow/pageSize;
      if(totalRow%pageSize > 0)
       totalPage = totalPage + 1;
      
      this.totalRow = totalRow;
     }
     public int getTotalPage(){
      
      return this.totalPage;
     }
     public String getToolsMenu() {
            StringBuffer str = new StringBuffer("");
            int next, prev;
            prev = curPage - 1;
            next = curPage + 1;

            if (curPage > 1) {
                str.append(
                    "<a href=\"#\" onclick=\"document.forms(0).pages.value=1;document.forms(0).submit();\">首頁</a>&nbsp;");
            } else {
                str.append("<a href=\"#\">首頁</a>&nbsp;");
            }
            if (curPage > 1) {
                str.append(
                    "<a href=\"#\" onclick='document.forms(0).pages.value=" +prev + ";document.forms(0).submit();'>上頁</a>&nbsp;");
            } else {
                str.append("<a href=\"#\">上頁</a>&nbsp;");
            }
            if (curPage < totalPage) {
                str.append(
                    "<a href=\"#\" onclick='document.forms(0).pages.value=" +next + ";document.forms(0).submit();'>下頁</a>&nbsp;");
            } else {
                str.append("<a href=\"#\" >下頁</a>&nbsp;");
            }
            if (totalPage > 1 && curPage != totalPage) {
                str.append(
                    "<a href=\"#\"  onclick='document.forms(0).pages.value=" +totalPage + ";document.forms(0).submit();'>末頁</a>&nbsp;&nbsp;");
            } else {
                str.append("<a href=\"#\" >末頁</a>&nbsp;&nbsp;");
            }
            str.append(" 共" + totalRow + "條記錄");
            str.append("  每頁<SELECT size=1 name=pagesize onchange='this.form.pages.value=1;this.form.pageSize.value=this.value;this.form.submit();'>");

            if (pageSize == 3) {
                str.append("<OPTION value=3 selected>3</OPTION>");
            } else {
                str.append("<OPTION value=3>3</OPTION>");
            }

            if (pageSize == 10) {
                str.append("<OPTION value=10 selected>10</OPTION>");
            } else {
                str.append("<OPTION value=10>10</OPTION>");
            }
            if (pageSize == 20) {
                str.append("<OPTION value=20 selected>20</OPTION>");
            } else {
                str.append("<OPTION value=20>20</OPTION>");
            }
            if (pageSize == 50) {
                str.append("<OPTION value=50 selected>50</OPTION>");
            } else {
                str.append("<OPTION value=50>50</OPTION>");
            }
            if (pageSize == 100) {
                str.append("<OPTION value=100 selected>100</OPTION>");
            } else {
                str.append("<OPTION value=100>100</OPTION>");
            }
            str.append("</SELECT>");
            str.append("條 分" + pageSize + "頁顯示 轉(zhuǎn)到");
            str.append("<SELECT size=1 name=Pagelist onchange='this.form.pages.value=this.value;this.form.submit();'>");
            for (int i = 1; i < totalPage + 1; i++) {
                if (i == curPage) {
                    str.append("<OPTION value=" + i + " selected>" + i +
                               "</OPTION>");
                } else {
                    str.append("<OPTION value=" + i + ">" + i + "</OPTION>");
                }
            }
            str.append("</SELECT>頁");
            str.append("<INPUT type=hidden  value=" + curPage + " name=\"pages\" > ");
            str.append("<INPUT type=hidden  value=" + pageSize +
                       " name=\"pageSize\"> ");
            return str.toString();
        }

    }

    ========配置文件=======
    <typeAlias alias="leaveBill" type="com.luke.wz.kf.bean.LeaveBill"/>
     <typeAlias alias="page" type="com.luke.wz.kf.bean.PageUtil"/>
    <select id="getWaitingLeaveBillByPage" resultClass="leaveBill" parameterClass="page">
      select
      <dynamic prepend="">
       <isNotEqual compareValue="0" property="pageSize" prepend="">
        top $pageSize$
       </isNotEqual>
       * from leavebill
       <isNotEqual prepend="where" compareValue="0" property="pageSize">
        id not in (select top $endSize$ id from leavebill) and state != '已歸檔' and state != '已完成'
       </isNotEqual>
       <isEqual prepend="where" compareValue="0" property="pageSize">
        state != '已歸檔' and state != '已完成'
       </isEqual>
      </dynamic>
     </select>

    =======DAO method========

    public List getWaitingLeaveBill(PageUtil page){
      
      List list = null;
      try {
       
       list = sqlMapClientTemplate.queryForList("getWaitingLeaveBillByPage",page);
      } catch (Exception e) {

       logger.error(e.getMessage());
      }
      return list;
     }


    =========具體操作=======
    public ModelAndView toWaitingLeaveBillList(HttpServletRequest request, HttpServletResponse response){
      
      PageUtil page = new PageUtil();
      java.util.List list = leaveBillDao.getWaitingLeaveBill(page);
      int temp = list.size();
      if(null != request.getParameter("pageSize") && !"".equals(request.getParameter("pageSize"))){
       page.setPageSize(Integer.parseInt(request.getParameter("pageSize")));
      }else{
       
       page.setPageSize(3);
      }
      page.setTotalRow(temp); 
      if(null != request.getParameter("pages") && !"".equals(request.getParameter("pages"))){
       page.setCurPage(Integer.parseInt(request.getParameter("pages")));
      }else{
       page.setCurPage(1);
      }
      request.setAttribute("menu",page.getToolsMenu());
      request.setAttribute("waitinglist",leaveBillDao.getWaitingLeaveBill(page));
      return new ModelAndView(WAITINGLIST);
     }

    這是針對MS SQL的,針對MYSQL或其它數(shù)據(jù)庫的情況,改動(dòng)一下配置文件即可。



    posted on 2007-10-30 14:07 java_蟈蟈 閱讀(4164) 評(píng)論(7)  編輯  收藏 所屬分類: ibatis

    評(píng)論

    # re: ibatis 分頁 2008-02-25 15:35 ch_w
    朋友,你這個(gè)Sybase 就不行了.低版本的Sybase甚至連top都不支持,后期版本支持top,但也不支持在子句中使用top  回復(fù)  更多評(píng)論
      

    # re: ibatis 分頁 2008-02-26 14:14 java_蟈蟈
    @ch_w
    這個(gè)并不是一成不變的,視情況定嗎,我這個(gè)只是針對MS SQL的,你可以自己改嗎

      回復(fù)  更多評(píng)論
      

    # re: ibatis 分頁 2008-06-10 16:15 pretender
    是不是耦合性太高了!!  回復(fù)  更多評(píng)論
      

    # re: ibatis 分頁[未登錄] 2008-07-14 14:32 chen
    類職責(zé)不清晰,加油  回復(fù)  更多評(píng)論
      

    # re: ibatis 分頁[未登錄] 2008-07-15 08:25 java_蟈蟈
    @chen

    感謝你的到來及建意,謝謝  回復(fù)  更多評(píng)論
      

    # re: ibatis 分頁[未登錄] 2008-08-13 16:18 蟲子
    Sybase 確實(shí)不行,剛才測試了一下!不支持在子句中使用top   回復(fù)  更多評(píng)論
      

    # re: ibatis 分頁 2010-03-12 11:15 Fei.Wang
    剛想著自已寫一個(gè)這樣的東東. 正好搜出來了, 大力頂一下!!!  回復(fù)  更多評(píng)論
      


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲一本一道一区二区三区| 啦啦啦手机完整免费高清观看| 理论秋霞在线看免费| 亚洲综合日韩中文字幕v在线| 亚洲精品网站在线观看不卡无广告 | 亚洲av色香蕉一区二区三区蜜桃| 亚洲黄色中文字幕| 国产亚洲精品美女久久久| 午夜亚洲国产成人不卡在线| 成人免费毛片视频| 在线观看成人免费视频不卡| 一级特黄aa毛片免费观看| 三级网站免费观看| fc2免费人成为视频| 国产午夜亚洲精品不卡电影| 亚洲色无码国产精品网站可下载| 亚洲福利一区二区精品秒拍| 久久综合图区亚洲综合图区| 亚洲人成色77777| 亚洲熟妇无码八AV在线播放| 亚洲午夜精品久久久久久浪潮 | 污网站在线免费观看| 亚洲AV无码男人的天堂| 亚洲人成网站999久久久综合| 亚洲日韩中文字幕一区| 中文字幕无码亚洲欧洲日韩| 亚洲AV色吊丝无码| 亚洲日本久久久午夜精品| 国产成人精品亚洲2020| 亚洲乱码一二三四区国产| 亚洲AV一二三区成人影片| 亚洲手机中文字幕| 亚洲精品福利你懂| 亚洲人成色99999在线观看| 亚洲av永久无码一区二区三区| 亚洲日韩亚洲另类激情文学| 亚洲欧美日韩国产成人| 亚洲欧美国产精品专区久久| 亚洲Av无码国产一区二区| 日韩精品无码永久免费网站| 中文字幕不卡免费视频|