Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > hibernate+spring的一个简单分页实现
【标  题】:hibernate+spring的一个简单分页实现
【关键字】:hibernate+spring
【来  源】:http://blog.csdn.net/luckisok/archive/2007/04/14/1564793.aspx

hibernate+spring的一个简单分页实现

Your Ad Here

Spring DAO的编写:
利用hibernate提供的Query的setFirstResult和setMaxResults方法进行数据分页,程序中以我建立的用户表为例,query的分页机制是以跳指针的方式进行数据读取,这样极大的提高的数据分页程序的响应速度
//分页主程序
       public List getUsersPage(int firstResults,int maxResults){
              try {
                     Session session=this.getSession();
                     Query query=session.createQuery("from SYSUSERS sysusers order by sysusers.username asc");
                     query.setFirstResult(firstResults);
                     query.setMaxResults(maxResults);
                     return query.list();
              } catch (HibernateException e) {
                     // TODO 自动生成 catch 块
                     e.printStackTrace();
              }
              finally{
                     try {
                            session.close();
                     } catch (HibernateException e) {
                            // TODO 自动生成 catch 块
                            e.printStackTrace();
                     }
              }
              return null;
       }
       //显示分页总页数
       public String getPageCount(int maxResults){
              String pageCount="0";
              try {
                     session=this.getSession();
                     Query query=session.createQuery("select count(sysusers.id) from SYSUSERS sysusers");
                     int Count=((Integer)query.list().get(0)).intValue();
                     if(Count%maxResults>0){
                            pageCount=String.valueOf(Count/maxResults+1);
                     }
                     else{
                            pageCount=String.valueOf(Count/maxResults);
                     }
                     return String.valueOf(pageCount);
              } catch (HibernateException e) {
                     // TODO 自动生成 catch 块
                     e.printStackTrace();
              }
              finally{
                     try {
                            session.close();
                     } catch (HibernateException e) {
                            // TODO 自动生成 catch 块
                            e.printStackTrace();
                     }
              }
              return pageCount;
       }
       //显示总记录数
       public String getTotalMark(){
              String totalMark="0";
              try {
                     session=this.getSession();
                     Query query=session.createQuery("select count(sysusers.id) from SYSUSERS sysusers");
                     int Count=((Integer)query.list().get(0)).intValue();
                     totalMark=String.valueOf(Count);
                     return totalMark;
              } catch (HibernateException e) {
                     // TODO 自动生成 catch 块
                     e.printStackTrace();
              }
              finally{
                     try {
                            session.close();
                     } catch (HibernateException e) {
                            // TODO 自动生成 catch 块
                            e.printStackTrace();
                     }
              }
              return totalMark;
       }
 
写完spring的dao之后定义相应的接口,这里不在复述
在这个dao写好之后,就可以在相应的表示层中进行方法调用,达到分页的目的

 
一个关于spring+hibernate的例子:【上一篇】
抓住了java version "1.6.0-rc"国际化的一个bug:【下一篇】
【相关文章】
  • 图解MyEclipse配置struts+hibernate+spring+FreeMarker
  • Struts+Hibernate+Spring运用整理(一)
  • Myeclipse开发struts+hibernate+spring新手入门---环境配置
  • Myeclipse平台struts+hibernate+spring项目开发示例
  • 初识J2EE框架(struts+hibernate+spring)
  • 采用struts+hibernate+spring开发的一个web系统(8)--数据库介绍
  • 采用struts+hibernate+spring开发的一个web系统(7)--系列截至
  • struts+hibernate+spring开发的一个web系统,正式提供源码下载
  • 采用struts+hibernate+spring开发的一个web系统(6)
  • 采用struts+hibernate+spring开发的一个web系统,源代码下载申明
  • 【随机文章】
  • 大规模定制的神话与现实
  • 无线宽带路由器UWR-4011
  • PhotoImpact 10 视频教程-图像全屏幕检视
  • how to deal with the Frame when using sitemesh
  • Link Aggregation how tos
  • 详解WINCE的控制面板
  • 关于CSS属性display:none和visible:hidden的区别
  • 从dotNet到VB6之模仿构造OleDbDataAdapter与dataset结合
  • ORA-00600: internal error code, arguments: [4194], [42], [41], [], [], [], [], [] 解决方法
  • ACCESS2000数据库文件密码的提取(源程序c++builder5)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.