如何使用hibernate自带的分页功能,在jsp页面上实现分页功能。
    小弟新手,如果哪位兄弟有这方面的例子的话请赐教,谢谢了~~!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主截止到2008-06-19 00:25:39的汇总数据:
    发帖数:3
    结贴数:0
    结贴率: 0.00%
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    jsp 和 HIBERNATEZ 之间好像没有直接的关系把
    你要不是用的MVC把
    Query q = session.createQuery(sql);
     q.setFirstResult(pageNum);从第几条开始
     q.setMaxResults(rowsPerPage);每页现实我少条
      

  3.   

    web层用jsp或者其它什么并不重要,主要是分页的查询方法。
    使用hibernate的话,在DAO层实现一个方法:
    public List<User> findUsers(String name,SplitPage splitPage) {
    String sql = "from User u ";
    if (name != null && !name.equals("")) {
    sql += "and u.name like :name ";
    }
    Session session = this.getSession();
    Query query = session.createQuery(sql);
    if (name != null && !name.equals("")) {
    query.setString("name", "%" + name + "%");
    }
    splitPage.setRecordCount(query.list().size());//记录本次查询的实际查询条数
       query.setFirstResult(splitPage.getStartRecord()); //设置本次查询的起始行号
    query.setMaxResults(splitPage.getPageSize());  //设置本次查询的记录条数
                    List list = query.list();
    if (list != null && list.size() > 0) {
    return list;
    } else {
    return new ArrayList<User>();
    }
    }
    其中SplitPage是自己定义的一个javabean,用于传递分页的参数。他有三个属性startRecord pageSize recordCount,从名字可以看出它们代表什么意思,我就不解释了。