hibernate分页实现
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分页实现的更多相关文章
- Hibernate分页功能数据重复问题
今天遇到一个很憋屈的问题那就是hibernate分页查询中出现重复数据,本来一直没有在意,以为是数据问题,但是一查程序和数据都没有问题,继续深入查看,找到问题了就是order By 时出的问题,唉.. ...
- Hibernate分页查询小结
通常使用的Hibernate通常是三种:hql查询,QBC查询和QBE查询: 1.QBE(Qurey By Example)检索方式 QBE 是最简单的,但是功能也是最弱的,QBE的功能不是特别强大, ...
- hibernate分页模糊查询
在web项目中,显示数据一般采用分页显示的,在分页的同时,用户可能还有搜索的需求,也就是模糊查询,所以,我们要在dao写一个可以分页并且可以动态加条件查询的方法.分页比较简单,采用hibernate提 ...
- Hibernate 分页 查询
昨天的作业 分页: 主要的代码块:(明天实现分页的封装) package com.cy.beans; import java.util.List; /** * 定义一个分页对象 * @author ...
- struts2+hibernate(分页实现)
//Dao类中实现了list集合和pagetotal方法 package zjf.strhib.Dao; import java.util.ArrayList; import java.util.Li ...
- Hibernate分页查询的两个方法
Hibernate中HQL查询语句有一个分页查询, session.setMaxResult(参数)和session.setFirstResult(参数) 如果只设置session.setMaxRes ...
- hibernate -- 分页模糊查询中setParameter 和setParameterList
在分页模糊查询中碰到setParameter 和setParameterList这两个方法 setParameter 以前就只会用setParameter(int arg,String str),我用 ...
- Hibernate 分页时 Long 无法转化成Integer类型 异常
转自:http://loquat.iteye.com/blog/818547 报错:java.lang.Long cannot be cast to java.lang.Integer Long ...
- Java项目中基于Hibernate分页总结
1,First of all, we should have a wrapper class for page,this class can calculate the startRow by th ...
随机推荐
- Rabbitmq中rabbitmqctl的常用命令
学习rabbitmq,原理之后第一个要掌握的就是rabbitmqctl这个命令的用法了,rabbitmq的管理功能最全的就是rabbitmqctl命令了,当然还有HTTP API和UI两种管理手段. ...
- 我的JAVA基础学习史1
又开始学习了..很是兴奋呢~~~~ 本来是想学安卓的,但是安卓的视频课程中,第一阶段是环境,第二阶段是JAVA基础(讲课的这个老师真是在念课本,但是实在没有办法,没找到更好.更完整的资料了). 虽然以 ...
- 解决JDeveloper运行慢的设置/BPM/SOA Server JVM参数设定
最近在使用 Jdeveloper 10.1.3.3 版本时发现速度奇慢无比,后经Google,发现如下解决方案:在 jdev.conf 文件的末尾加上如下两行,速度即可得到显着的提高, jdev.co ...
- sizeof(结构体)的计算
摘要: 经常被计算结构体的sizeof给搞晕,于是找了个时间,静下心来,搞定它. 一.为什么结构体计算这么乱? 答案是字节对齐,计算机存储系统中以Byte为单位存储数据,不同数据类型所占的空间不同,如 ...
- 函数buf_LRU_free_from_common_LRU_list
/******************************************************************//** Try to free a clean page fro ...
- [转]Linux下Nagios的安装与配置
转自:http://blog.chinaunix.net/uid-29539073-id-4149856.html 月色书香 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有 ...
- requirejs 小结
1,“生搬硬套”-----js依赖的写法,依赖关系如这里的嵌套关系: /** * 模块化加载,注意各个js文件的依赖关系(嵌套) */ require(["jquery"], fu ...
- 【转】Android学习基础自定义Checkbox组件
原文网址:http://forum.maiziedu.com/thread-515-1-1.html heckbox组件是一种可同时选中多项的基础控件,即复选框,在android学习中,Checkbo ...
- 设计模式Day02
1.生成器模式 生成器模式也称为建造者模式.生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. 生成器模式的编程步骤: (1)定义一个产品类: 由于不在该类完 ...
- Java面试宝典2013版(超长版)
一. Java基础部分......................................................................................... ...