个人随笔
目录
知识点-18-20170602Hibernate分页查询注意事项
2019-02-18 21:49:37

在hibernate中实现分页查询功能特别容易,只需要如下代码即可

  1. /**
  2. * 分页查询
  3. * @param hql:hql from objectName po where po.name=:name;
  4. * @param map:参数map
  5. * @param offset:查询的第多少条开始 从0是第一条开始<br /> * @param length:每页查询的个数
  6. * @return 分页查询返回的list,没有则返回null
  7. */
  8. public List findPageByHqlAndMap(String hql,
  9. Map<String, Object> map, Integer offset, Integer length) {
  10. Query query = getSession().createQuery(hql);
  11. if (map != null ) {
  12. for(String key : map.keySet()){
  13. query.setParameter(key, map.get(key));
  14. }
  15. }
  16. //起始,注意从0开始:0就是第一页
  17. if (offset >= 0 ) {
  18. query.setFirstResult(offset);
  19. }
  20. //返回记录数
  21. if (length > 0 ) {
  22. query.setMaxResults(length);
  23. }
  24. List list = query.list();
  25. if(list!=null&&list.size()>0){
  26. return list;
  27. }else{
  28. return null;
  29. }
  30. }

但是需要注意offset并不是页数 是从第几条开始,开始为0 默认是从第一条记录开始,所以页面如果是要查询第一页,那么offset就应该是
offset=page*num
其中,page是页面传的页数,第一页page为0,第二页page为1 ,num是每页显示的条数

 197

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2