@Override public Map<String,Object> findByRequestMap(HashMap requestMap) { Integer pageNum = 1; if(requestMap.containsKey("page")){ pageNum = Integer.valueOf((String)requestMap.get("page")); } Integer pageSize = 10; if(requestMap.containsKey("limit")){ pageSize = Integer.valueOf((String)requestMap.get("limit")); } Criteria criteria = getSession().createCriteria(SSOAccount.class); if (requestMap.containsKey("loginName")) { criteria.add(Restrictions.like("loginName", "%" + requestMap.get("loginName") + "%")); } if (requestMap.containsKey("mobile")) { criteria.add(Restrictions.like("mobile", "%" + requestMap.get("mobile") + "%")); } if (requestMap.containsKey("userName")) { criteria.add(Restrictions.like("userName", "%" + requestMap.get("userName") + "%")); } //can be used first Projections.rowCount() to get the total number of records, as follows: // Long totalNum = (Long)criteria.setProjection(Projections.rowCount()).uniqueResult(); criteria.setFirstResult((pageNum-1) * pageSize); criteria .setMaxResults(pageSize); Long totalNum = (Long)criteria.setProjection(Projections.rowCount()).uniqueResult(); // Then set Projection to empty, and then perform normal paging. criteria.setProjection(null); Map resultMap = new HashMap<String,Object>(); resultMap.put("data", ssoAccountList); return resultMap; }
Hibernate uses Criteria paging query example code
Guess you like
Origin blog.csdn.net/zy103118/article/details/109303191
Recommended
Ranking