分页显示源码

本文介绍了一种基于Java的分页查询实现方法,包括课程信息及学生选课历史记录的分页展示。通过设置每页显示数量、当前页数等参数,实现对数据的有效管理和展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  分页显示源码

 

/**
     *  分页显示所有课程
     * 
     * 
@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;
    }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值