1.创建分页实体类

public class PageBean {

private int page; // 页码
private int rows; // 每页显示行数
private int start; // 某一页从第几条开始 public PageBean(int page, int rows) {
super();
this.page = page;
this.rows = rows;
} public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getRows() {
return rows;
}
public void setRows(int rows) {
this.rows = rows;
}
public int getStart() {
return (page-1)*rows;
} } 2.daoImpl public List<Grade> gradeList(PageBean pageBean,Grade grade)throws Exception{
List<Grade> gradeList=null;
Session session=this.getSession();
StringBuffer sb=new StringBuffer("from Grade g");
if(grade!=null && StringUtil.isNotEmpty(grade.getGradeName())){
sb.append(" and g.gradeName like '%"+grade.getGradeName()+"%'");
}
Query query=session.createQuery(sb.toString().replaceFirst("and", "where"));
if(pageBean!=null){
query.setFirstResult(pageBean.getStart());
query.setMaxResults(pageBean.getRows());
}
gradeList=(List<Grade>)query.list();
return gradeList;
} 3.Action public String execute() throws Exception {
PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows));
try{
if(grade==null){
grade=new Grade();
}
grade.setGradeName(s_gradeName);
JSONObject result=new JSONObject();
List<Grade> gradeList=gradeService.gradeList(pageBean, grade);
JSONArray jsonArray=new JSONArray();
for(int i=0;i<gradeList.size();i++){
Grade grade=(Grade)gradeList.get(i);
JSONObject jsonObject=new JSONObject();
jsonObject.put("id", grade.getId());
jsonObject.put("gradeName", grade.getGradeName());
jsonObject.put("gradeDesc", grade.getGradeDesc());
jsonArray.add(jsonObject);
}
int total=gradeService.gradeCount(grade);
result.put("rows", jsonArray);
result.put("total", total);
ResponseUtil.write(ServletActionContext.getResponse(), result);
}catch(Exception e){
e.printStackTrace();
}
return null;
}

hibernate分页实现的更多相关文章

  1. Hibernate分页功能数据重复问题

    今天遇到一个很憋屈的问题那就是hibernate分页查询中出现重复数据,本来一直没有在意,以为是数据问题,但是一查程序和数据都没有问题,继续深入查看,找到问题了就是order By 时出的问题,唉.. ...

  2. Hibernate分页查询小结

    通常使用的Hibernate通常是三种:hql查询,QBC查询和QBE查询: 1.QBE(Qurey By Example)检索方式 QBE 是最简单的,但是功能也是最弱的,QBE的功能不是特别强大, ...

  3. hibernate分页模糊查询

    在web项目中,显示数据一般采用分页显示的,在分页的同时,用户可能还有搜索的需求,也就是模糊查询,所以,我们要在dao写一个可以分页并且可以动态加条件查询的方法.分页比较简单,采用hibernate提 ...

  4. Hibernate 分页 查询

    昨天的作业  分页: 主要的代码块:(明天实现分页的封装) package com.cy.beans; import java.util.List; /** * 定义一个分页对象 * @author ...

  5. struts2+hibernate(分页实现)

    //Dao类中实现了list集合和pagetotal方法 package zjf.strhib.Dao; import java.util.ArrayList; import java.util.Li ...

  6. Hibernate分页查询的两个方法

    Hibernate中HQL查询语句有一个分页查询, session.setMaxResult(参数)和session.setFirstResult(参数) 如果只设置session.setMaxRes ...

  7. hibernate -- 分页模糊查询中setParameter 和setParameterList

    在分页模糊查询中碰到setParameter 和setParameterList这两个方法 setParameter 以前就只会用setParameter(int arg,String str),我用 ...

  8. Hibernate 分页时 Long 无法转化成Integer类型 异常

    转自:http://loquat.iteye.com/blog/818547 报错:java.lang.Long cannot be cast to java.lang.Integer   Long ...

  9. Java项目中基于Hibernate分页总结

    1,First of all,  we should have a wrapper class for page,this class can calculate the startRow by th ...

随机推荐

  1. Rabbitmq中rabbitmqctl的常用命令

    学习rabbitmq,原理之后第一个要掌握的就是rabbitmqctl这个命令的用法了,rabbitmq的管理功能最全的就是rabbitmqctl命令了,当然还有HTTP API和UI两种管理手段. ...

  2. 我的JAVA基础学习史1

    又开始学习了..很是兴奋呢~~~~ 本来是想学安卓的,但是安卓的视频课程中,第一阶段是环境,第二阶段是JAVA基础(讲课的这个老师真是在念课本,但是实在没有办法,没找到更好.更完整的资料了). 虽然以 ...

  3. 解决JDeveloper运行慢的设置/BPM/SOA Server JVM参数设定

    最近在使用 Jdeveloper 10.1.3.3 版本时发现速度奇慢无比,后经Google,发现如下解决方案:在 jdev.conf 文件的末尾加上如下两行,速度即可得到显着的提高, jdev.co ...

  4. sizeof(结构体)的计算

    摘要: 经常被计算结构体的sizeof给搞晕,于是找了个时间,静下心来,搞定它. 一.为什么结构体计算这么乱? 答案是字节对齐,计算机存储系统中以Byte为单位存储数据,不同数据类型所占的空间不同,如 ...

  5. 函数buf_LRU_free_from_common_LRU_list

    /******************************************************************//** Try to free a clean page fro ...

  6. [转]Linux下Nagios的安装与配置

    转自:http://blog.chinaunix.net/uid-29539073-id-4149856.html 月色书香 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有 ...

  7. requirejs 小结

    1,“生搬硬套”-----js依赖的写法,依赖关系如这里的嵌套关系: /** * 模块化加载,注意各个js文件的依赖关系(嵌套) */ require(["jquery"], fu ...

  8. 【转】Android学习基础自定义Checkbox组件

    原文网址:http://forum.maiziedu.com/thread-515-1-1.html heckbox组件是一种可同时选中多项的基础控件,即复选框,在android学习中,Checkbo ...

  9. 设计模式Day02

    1.生成器模式 生成器模式也称为建造者模式.生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. 生成器模式的编程步骤: (1)定义一个产品类:  由于不在该类完 ...

  10. Java面试宝典2013版(超长版)

    一. Java基础部分......................................................................................... ...