jQuery MiniUI

 找回密码
 立即注册
查看: 2171|回复: 0
打印 上一主题 下一主题

哪位能帮我看一下这个代码为什么不能分页?? [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2013-11-6 19:27:38 |只看该作者 |倒序浏览
本帖最后由 wangwangxs 于 2013-11-6 20:45 编辑

哪位能帮我看一下这个代码为什么不能分页??


@SuppressWarnings("unchecked")
        public HashMap<String,Object> SearchAllPage(String object,String property,String key,int index, int size, String sortField, String sortOrder)
    {
                List<Object> list = null;
                if(key == null) key = "";
            
                String sql = "select ob from "+ object
                                + " ob"+" where ob."+property+" like '%" + key + "%'";

        if (StringUtil.isNullOrEmpty(sortField) == false)
        {
            if ("desc".equals(sortOrder) == false) sortOrder = "asc";
            sql += " order by " + sortField + " " + sortOrder;
        }
        else
        {
            sql += " order by id desc";
        }

        int start = index * size, end = start + size;
        try {
                                Query query = entityManager.createQuery(sql);
                                query.setFirstResult(start);
                                query.setMaxResults(end);
                                list = query.getResultList();
                        
        } catch (RuntimeException re) {
        
                throw re;
        }


       /* ArrayList<Object> data = new ArrayList<Object>();*/


      /*  for (int i = 0, l = list.size(); i < l; i++)
        {


            if (start <= i && i < end)
            {
                data.add(list.get(i));
            }

        }*/

        HashMap<String,Object> result = new HashMap<String,Object>();
        result.put("data", list);
        result.put("total", list.size());

        return result;
    }

该问题已解决
出现问题的地方:
query.setFirstResult(start);
query.setMaxResults(end);
list = query.getResultList();
这种写法是查出每页的数据


result.put("total", list.size());
这种写法只是将查出来的每页数据的大小存到  result 中,而不是所有的记录,所以达不到分页的效果。

Archiver|普加软件

GMT+8, 2024-9-29 07:16 , Processed in 1.039433 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部