分页显示源码

/** *//**
* 分页显示所有课程
*
* @param pageinfo
*/
public HashMap getCourse(PageInfo pageinfo) throws Exception ...{
HashMap hp = new HashMap();
String hsql = "select c from Courses as c order by c.id";
Query query = coursesDao.getQuery(hsql);
int totalCount = pageinfo.getTatalCount();
int totalPage = pageinfo.getTotalpage();
int start = pageinfo.getStart();
totalCount = totalCount == -1 ? coursesDao.getTotalCount(hsql)
: totalCount;
totalPage = totalPage == -1 ? coursesDao.getTotalPage(totalCount,
pageinfo.getPageSize()) : totalPage;
query.setFirstResult(start);
query.setMaxResults(pageinfo.getPageSize());
List list = query.list();
hp.put("courses", (Courses[]) list.toArray(new Courses[0]));
hp.put("totalCount", new Integer(totalCount));
hp.put("totalPage", new Integer(totalPage));
return hp;
}
/** *//**
* 分页显示所有选课历史
* @param pageinfo
* @param stu_name
*/
public HashMap getStudentHistory(PageInfo pageinfo, String stu_name)
throws Exception ...{
HashMap hp = new HashMap();
Students stu = this.getStudetFromName(stu_name);
Integer stu_id = stu.getId();
Criteria criteria = coursesDao.getCriteria(History.class);
criteria.createCriteria("student").add(Expression.eq("name", stu_name));
int totalCount = pageinfo.getTatalCount();
int totalPage = pageinfo.getTotalpage();
int start = pageinfo.getStart();
totalCount = totalCount == -1 ? criteria.list().size() : totalCount;
totalPage = totalPage == -1 ? studentsDao.getTotalPage(totalCount,
pageinfo.getPageSize()) : totalPage;
criteria.setFirstResult(start);
criteria.setMaxResults(pageinfo.getPageSize());
criteria.addOrder(Order.asc("id"));
// criteria.addOrder(Order.desc("id"));
List list = criteria.list();
hp.put("history", (History[]) list.toArray(new History[0]));
hp.put("totalCount", new Integer(totalCount));
hp.put("totalPage", new Integer(totalPage));
return hp;
}
本文介绍了一种基于Java的分页查询实现方法,包括课程信息及学生选课历史记录的分页展示。通过设置每页显示数量、当前页数等参数,实现对数据的有效管理和展示。
490

被折叠的 条评论
为什么被折叠?



