hibernate 中的query的分頁查詢

來源:互聯網
上載者:User

標籤:資料   os   io   new   amp   res   

//方法描述:根據會員名稱和頁容量分頁查詢代理人
 public List<HbUser> findUserByPage(int page,int pageSize, String userName)
   throws Exception {
  Session session = sessionFactory.getCurrentSession();
  StringBuffer hql = new StringBuffer("from HbUser where isDelete = 0 and " +
    "auditStatus = 3  and postId in (1,2,3,4) ");//建立一個字元緩衝 隊列
  //如果userName不為空白 或者Null 字元串 就對StringBuffer進行拼接
  if(userName != null && userName.trim().length() != 0){
   hql.append(" and userName LIKE ‘%"+userName+"%‘");
  }
  Query query = session.createQuery(hql.toString());
  query.setFirstResult((page - 1) * pageSize);//從page頁第一條記錄開始
  query.setMaxResults(pageSize);//頁容量
  if(query.list().size() != 0){
   return query.list();
  }
  return null;
 }

查詢總的頁數


 public int findUserTotalPage(int pageSize, String userName) throws Exception {
  Session session = sessionFactory.getCurrentSession();
  StringBuffer hql = new StringBuffer("select count(userId) from HbUser where " +
    " isDelete = 0 and auditStatus = 3 and postId in (1,2,3,4) ");//建立一個字元緩衝 隊列
  //如果userName不為空白 或者Null 字元串 就對StringBuffer進行拼接
  if(userName != null && userName.trim().length() != 0){
   hql.append(" and userName LIKE ‘%"+userName+"%‘");
  }
  Query query = session.createQuery(hql.toString());
  Long num = (Long)query.uniqueResult();
  long numn = num;//把Long對象拆裝成long基本類型
  int totalPage = (int) numn;//把long類型的資料強制轉換成int類型
  return totalPage;
 }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.