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

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

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

    linansengling

     

    java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL)

    ??? 通過(guò)Structs+Hibernate+MySQL數(shù)據(jù)數(shù)來(lái)實(shí)現(xiàn)分頁(yè)技術(shù)的應(yīng)用.?
    ???
    ?? 源程序下載
    ?? 至于Hibernate, Structs, MySQL的具體用法我就不說(shuō)了,你可以看源程序來(lái)查看詳細(xì)內(nèi)容.我們來(lái)看看分頁(yè)應(yīng)用的相關(guān)內(nèi)容.
    ?架構(gòu)上和Spring JPetStore沒(méi)多少區(qū)別, 只是沒(méi)用Spring框架所以Structs中的UserdisplayAction中必須new出各個(gè)對(duì)象并完成它們之間的關(guān)聯(lián), 這就是Spring IOC可自動(dòng)完成的功能. 它也是三層:表現(xiàn)層(Structs),?業(yè)務(wù)層(POJO), 數(shù)據(jù)層(Hibernate訪問(wèn)MySQL).?同樣業(yè)務(wù)層通過(guò)DAO接口(UserDAO)來(lái)訪問(wèn)數(shù)據(jù)庫(kù), 訪問(wèn)數(shù)據(jù)庫(kù)的通過(guò)Hibernate(在UserDAOImpl中實(shí)現(xiàn)).?這一次分頁(yè)要在業(yè)務(wù)層中來(lái)實(shí)現(xiàn), 業(yè)務(wù)層同樣向表現(xiàn)層提供一個(gè)Facada(門(mén)面,? UserManager接口), 來(lái)訪問(wèn)業(yè)務(wù). 在UserManagerImpl中通過(guò)調(diào)用UserDAO來(lái)訪問(wèn)數(shù)據(jù), 調(diào)用POJO來(lái)實(shí)現(xiàn)分頁(yè)功能. 看以下關(guān)鍵代碼.

    先看POJO的分布類(lèi)吧:

    Page.java

    package org.flyware.util.page;

    public class Page {?
    ????
    ??? private boolean hasPrePage;?
    ????
    ???? private boolean hasNextPage;?
    ????????
    ??? private int everyPage;?
    ????
    ??? private int totalPage;?
    ????????
    ??? private int currentPage;?
    ????
    ????? private int beginIndex;?
    ????
    ????
    ????? public Page(){
    ???????
    ??? }?
    ????
    ??????? public Page(int everyPage){
    ??????? this.everyPage = everyPage;
    ??? }
    ???
    ??? /** The whole constructor */
    ??? public Page(boolean hasPrePage, boolean hasNextPage,?
    ??????????????????? int everyPage, int totalPage,
    ??????????????????? int currentPage, int beginIndex) {
    ??????? this.hasPrePage = hasPrePage;
    ??????? this.hasNextPage = hasNextPage;
    ??????? this.everyPage = everyPage;
    ??????? this.totalPage = totalPage;
    ??????? this.currentPage = currentPage;
    ??????? this.beginIndex = beginIndex;
    ??? }

    ??????......????
    ??????
    ?? public int getTotalPage() {
    ??????? return totalPage;
    ??? }?
    ???
    ??? public void setTotalPage(int totalPage) {
    ??????? this.totalPage = totalPage;
    ??? }
    ???
    }

    PageUtil.java(用來(lái)構(gòu)造Page實(shí)例 相當(dāng)于page工廠)

    package org.flyware.util.page;

    public class PageUtil {
    ???
    ??? private static final Log logger = LogFactory.getLog(PageUtil.class);?
    ????
    ?????? public static Page createPage(Page page, int totalRecords){?

    ??????? return createPage(page.getEveryPage(), page.getCurrentPage(), totalRecords);
    ??? }?
    ????
    ??????? public static Page createPage(int everyPage, int currentPage, int totalRecords){
    ??????? everyPage = getEveryPage(everyPage);?

    ??????? currentPage = getCurrentPage(currentPage);?

    ??????? int beginIndex = getBeginIndex(everyPage, currentPage);?

    ??????? int totalPage = getTotalPage(everyPage, totalRecords);?

    ??????? boolean hasNextPage = hasNextPage(currentPage, totalPage);?

    ??????? boolean hasPrePage = hasPrePage(currentPage);
    ???????
    ??????? return new Page(hasPrePage, hasNextPage,?
    ??????????????????????????????? everyPage, totalPage,
    ??????????????????????????????? currentPage, beginIndex);
    ??? }
    ???
    ??? private static int getEveryPage(int everyPage){
    ??????? return everyPage == 0 ? 10 : everyPage;
    ??? }
    ???
    ??? private static int getCurrentPage(int currentPage){
    ??????? return currentPage == 0 ? 1 : currentPage;
    ??? }
    ???
    ??? private static int getBeginIndex(int everyPage, int currentPage){
    ??????? return (currentPage - 1) * everyPage;
    ??? }
    ???????
    ??? private static int getTotalPage(int everyPage, int totalRecords){
    ??????? int totalPage = 0;
    ???????????????
    ??????? if(totalRecords % everyPage == 0)
    ??????????? totalPage = totalRecords / everyPage;
    ??????? else
    ??????????? totalPage = totalRecords / everyPage + 1 ;
    ???????????????
    ??????? return totalPage;
    ??? }
    ???
    ??? private static boolean hasPrePage(int currentPage){
    ??????? return currentPage == 1 ? false : true;
    ??? }
    ???
    ??? private static boolean hasNextPage(int currentPage, int totalPage){
    ??????? return currentPage == totalPage || totalPage == 0 ? false : true;
    ??? }
    ???

    }



    業(yè)務(wù)實(shí)現(xiàn)類(lèi) UserManaerImpl.java

    package com.linan.service.impl;

    public class UserManagerImpl implements UserManager {
    ???
    ??? private UserDAO userDAO;

    ?????? public void setUserDAO(UserDAO userDAO) {?

    ??????? this.userDAO = userDAO;?

    ??? }?
    ??
    //提供業(yè)務(wù)方法

    public Result listUser(Page page) throws HibernateException,

    ObjectNotFoundException {?

    ??????? int totalRecords = userDAO.getUserCount();?

    ??????? if(totalRecords == 0)?

    ??????????? throw new ObjectNotFoundException("userNotExist", null);
    ?
    ??????? page = PageUtil.createPage(page, totalRecords);?

    ??????? List users = userDAO.getUserByPage(page);???
    ???
    ??????? return new Result(page, users);?

    ??? }

    }


    DAO數(shù)據(jù)訪問(wèn)實(shí)現(xiàn)類(lèi) UserDAOImpl.java

    package com.linan.dao.impl;

    public class UserDAOImpl? implements UserDAO {

    ??...........

    ????? public List getUserByPage(Page page) throws HibernateException {?

    ??????? String querySentence = "FROM user in class com.linan.bo.Userlist";?

    ??????? Query query = getSession().createQuery(querySentence);?

    ???????? //實(shí)現(xiàn)分頁(yè)功能

    ??????? query.setFirstResult(page.getBeginIndex())?

    ??????????????? .setMaxResults(page.getEveryPage());?

    ??????? return query.list();?

    ??? }

    }

    表現(xiàn)層Structs中的Action UserdisplayAction.java

    package com.linan.struts.action;

    public class UserdisplayAction extends Action {

    ? ?public ActionForward execute(
    ??ActionMapping mapping,
    ??ActionForm form,
    ??HttpServletRequest request,
    ??HttpServletResponse response) {

    ???Page page=new Page();?

    ??????? UserManagerImpl userManager=new UserManagerImpl();

    ??????? UserDAOImpl userDAO=new UserDAOImpl();

    ??????? userManager.setUserDAO(userDAO);

    ?????? //掉用業(yè)務(wù)代理完成分頁(yè)

    ??????? Result result=userManager.listUser(page);

    ??????? List list=result.getContent();

    ??????? HttpSession session=request.getSession();

    ??????? session.setAttribute("list",list);

    ??return mapping.findForward("displayGo");

    ?}

    }


    ?

    posted on 2006-09-21 00:42 fds 閱讀(5147) 評(píng)論(30)  編輯  收藏 所屬分類(lèi): JAVA

    評(píng)論

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-21 00:50 HotJava

    我想要個(gè)源文件,hotjava_zj@sina.com,謝謝  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-21 08:33 Anubis

    1 抵制新浪信箱.
    2 給我發(fā)一份 fiolvivi@gmail.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-21 09:00 cctv

    能提供一份嗎?li98311@tom.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-21 09:02 kisscheng

    謝謝:kisscheng@citiz.net  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-21 09:24 新新人類(lèi)

    多謝wuxj888@yahoo.com.cn  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-21 10:56 onejavaer

    能給我一份源文件嗎 我想研究一下用法 謝謝 `~~ EMAIL:onejavaer@126.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-21 11:56 為了生活而繼續(xù)

    謝謝 lianjiping@163.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-22 11:05 koujian

    嘿嘿,那天給我發(fā)的petstore很不錯(cuò),這個(gè)也給我發(fā)個(gè)吧
    kjb1520032000@163.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-23 10:35 fjufirefox

    能給我一份源文件嗎 謝謝 `~~
    EMAIL: fjufirefox@gmail.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-23 16:54 nbsp

    也能給我一份源文件嗎?謝謝!
    nbspnbsp@126.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-09-25 08:31 nk912114

    nk912114 (at) 163.com
    thanks   回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-10-03 02:21 thl

    流口水了
    ad-hunter@hotmail.com
    萬(wàn)分感謝!
    國(guó)慶快樂(lè)!
    中秋快樂(lè)!  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-11-19 09:39 yh

    yanghuw@163.com
    謝謝
      回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-11-22 17:59 我也想要個(gè)源碼!

    ssd1021@hotmail.com謝謝  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-12-10 20:13 yan[匿名]

    bbxyhaihua@163.com謝謝!  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-12-14 22:41 趙蘭科

    也能給我一份源文件嗎?謝謝!
    lankeabc@yeah.net  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-12-28 09:09 jrww

    因自己是初學(xué)者,我急需這塊的技術(shù),能麻煩你發(fā)一份源碼給jrww@sina.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2006-12-29 10:29 俞曉堅(jiān)

    可以給我一份源文件嗎想學(xué)習(xí)下
    yuxia2217@163.com
    謝謝!  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2007-01-05 14:35 cmy

    可以給我一份源文件吧!
    謝謝!!!
    email:
    chimeiyu126com@126.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL)[未登錄](méi) 2007-02-09 13:15 yy

    我也要一份
    syand2004@163.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2007-04-23 10:54 xiao

    給我一分源代碼好不!xiaolou19850905@163.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2007-07-31 14:28 sruic

    能給我一份源碼嗎?sruic@126.com
    謝謝  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2007-08-18 21:18 AlfredGao

    可以給我一份源文件吧!
    謝謝!!!
    email:
    someday666@163.com   回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2007-10-01 10:48 學(xué)生

    國(guó)慶節(jié)快樂(lè)!
    我對(duì)您寫(xiě)的程序非常看興趣,
    能否發(fā)給我原程序嗎?謝謝!
    struts.student@gmail.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2007-11-05 18:48 chaiqi

    也麻煩您給我發(fā)一個(gè)!非常感謝!

    chaiqi1@hotmail.com  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2008-04-21 15:42 webman

    請(qǐng)問(wèn)Result是哪個(gè)包里面的東西,還是自己寫(xiě)的?  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2008-06-24 09:43 ;

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

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL)[未登錄](méi) 2008-07-18 12:24 robin

    其實(shí)spring中有這個(gè)分頁(yè)類(lèi),蠻好用的,  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2009-05-24 12:12 qianmz

    qmzpanda@163.com
    我也想看看源代碼...謝謝您  回復(fù)  更多評(píng)論   

    # re: java 實(shí)現(xiàn)分頁(yè)技術(shù)(Structs+Hibernate+MySQL) 2009-08-12 17:06 sunnywolf

    沒(méi)撒技術(shù)含量。  回復(fù)  更多評(píng)論   

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(3)

    隨筆分類(lèi)(12)

    隨筆檔案(13)

    文章分類(lèi)(1)

    文章檔案(2)

    相冊(cè)

    收藏夾(3)

    my like

    最新隨筆

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国内精品免费久久影院| 亚洲午夜电影在线观看| 不卡一卡二卡三亚洲| 亚洲国产精品碰碰| 亚洲精品动漫人成3d在线 | 日韩在线视频播放免费视频完整版| 亚洲av无码一区二区三区人妖 | 亚洲中文字幕在线观看| 色久悠悠婷婷综合在线亚洲| 国产亚洲精品AA片在线观看不加载 | 国产亚洲精品美女久久久久久下载| 亚洲另类无码专区丝袜| 亚洲AV无码片一区二区三区| 无码天堂va亚洲va在线va| 男女超爽视频免费播放| www免费插插视频| 中文字幕一区二区免费| 久久午夜无码免费| h视频在线观看免费网站| 免费鲁丝片一级观看| 免费jjzz在线播放国产| 久久亚洲高清综合| 亚洲成A人片在线观看无码不卡 | 亚洲A∨无码一区二区三区| 亚洲黄色在线视频| 一本色道久久综合亚洲精品蜜桃冫 | 成人爱做日本视频免费| 亚洲日韩国产精品乱| 亚洲AV无码国产精品麻豆天美| 亚洲小视频在线观看| 亚洲男人天堂2018av| 午夜在线亚洲男人午在线| 中文字幕a∨在线乱码免费看| 国产精品视频白浆免费视频| 久久99九九国产免费看小说| 四虎影视免费永久在线观看| 国产亚洲精品岁国产微拍精品| 亚洲韩国在线一卡二卡| 男男黄GAY片免费网站WWW| 日本在线免费播放| 天堂在线免费观看中文版|