michaelwang1978

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            10 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
          Hibernate 提供了比較好的分頁查詢api極大地方便了使用者。以下是我在項目中寫的一個Hibernate 分頁查詢的代碼:
          //根據Message 對象所封裝的查詢條件分頁查詢Message對象,S
          public List getPageinMessage(Message message,int startRow,int rows) throws DAOException {       
                  StringBuffer queryString=new StringBuffer(" from Message as message where ");
                  //ActionExceptionHandler actionHandler=new ActionExceptionHandler();
                  if(message.getSource()!=null){
                      queryString.append("message.source.id="+message.getSource().getId());
                      queryString.append(" and senderDelFlag=0");
                  }else if(message.getTarget()!=null){
                      //if message's target is not null query message base on target's id
                      logger.debug("query inbox==================");
                      queryString.append("message.target.id="+message.getTarget().getId());
                      queryString.append(" and receiverDelFlag=0");
                  } else{
                      throw new BusinessException("未選定消息發送者或接受者"); 
                  }
                  queryString.append(" order by message.creatDate DESC");
                  Query query=null;
                  List messageList=null;
                  Session session=this.getSession();       
                  try {
                      query=session.createQuery(queryString.toString());
                      query.setFirstResult(startRow);
                      query.setMaxResults(rows);
                      logger.debug("first row===="+startRow+"===row amount==="+rows);
                      messageList=query.list();
                      if(messageList.size()>0){
                          Message message2=(Message)messageList.get(0);              
                          logger.debug("messageList's length==="+message2);           
                          logger.debug("messageList's length==="+messageList.size());
                      }
                  } catch (HibernateException e) {
                      // TODO Auto-generated catch block          
                      e.printStackTrace();
                      throw new BusinessException("讀取頁面數據發生錯誤"); 
                  }finally{
                      if(session!=null&&session.isOpen()){
                          try {
                              session.close();
                          } catch (HibernateException e1) {
                              e1.printStackTrace();
                              throw new BusinessException("會話關閉異常");                   
                          }
                      }
                  }          
                  return messageList;       
              }
          posted on 2005-10-06 11:05 Michael 閱讀(244) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 雅安市| 武隆县| 陆丰市| 逊克县| 五莲县| 海城市| 福贡县| 长春市| 北流市| 从化市| 江达县| 莫力| 榆树市| 高阳县| 永泰县| 永嘉县| 永济市| 谷城县| 阜宁县| 迁西县| 疏附县| 岐山县| 鄂州市| 大石桥市| 通辽市| 若尔盖县| 崇仁县| 富川| 凤山县| 镇宁| 桦南县| 揭东县| 黄大仙区| 桐柏县| 新源县| 瓦房店市| 湖南省| 陇南市| 芮城县| 垣曲县| 西盟|