打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
hibernate spring的一个简单分页实现

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

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写好之后,就可以在相应的表示层中进行方法调用,达到分页的目的

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Hibernate 问题,在执行Query session.createQuery(hql) 报错误直接跳到finally
使用Hibernate的一个完整例子
回调 Spring Hibernate DAO 持久层开发,
Hibernate 查询,做分页处理
备忘使用hibernate分页时连接池耗尽-Hibernate-Java
实例介绍Struts+Spring+Hibernate开发
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服