hibernate 中的query的分页查询
//方法描述:根据会员名称和页容量分页查询代理人
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不为空 或者空字符串 就对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不为空 或者空字符串 就对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;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。