谁有好的SSH的分法~是不是一定在分页bean把属性给初始化?
解决方案 »
- 求推荐几本JSP入门的书籍
- struts2标签中可以不可以使用javascript中的onClick事件?
- JSP后台能添加类似JAVA的线程吗?
- 谁有jsp开发的OA
- 简单的关于 table中this.parentElement 的问题
- resin+sqlserver出现java.lang.OutOfMemoryError怎么解决?
- 谁能给提供一些 b/s 方面的资料来学习学习?
- springmvc表单提交日期格式,怎么搞?
- html+servlet在HTML文件中要怎样设置?在JB5中怎样调试?谢谢
- 浏览器可以,java http不行
- 一个很郁闷的jsp乱码问题,请教!!!
- 怎么把JS数组传递给selvet?
第一种是取出所有的数据放在list里面,然后对list操作
第二种是用sql语句操作,比如mysql 有 limit关键字,查询从第多少到第多少的数据
hibernate其实封装的就是第二种的方法
你做分页的话,做个分页器bean,主要存储你分页要用的一些字段,比如firstPage,lastpage,pagesize,pageNumber,pageTotal等等,大致就这样了
pageBean其实和你的数据库的持久类一样,在hibernate里面做findbypage(随便的方法名),加入这个pagebean,也就是查询你要的数据的时候,加入查询的条件(大小==size,firstindex==从哪里开始查)
可以写个分页的实体类和分页方法1》》》》》》实体类:package org.jb.common.util;import java.util.ArrayList;
import java.util.List;/**
*
* @author hailong.liu
*/
public class PageResult<E> {
private String orderBy = "";
private String sort = "asc";
private List<E> list = new ArrayList<E>(); //查询结果
private int pageNo = 1; //实际页号
private int pageSize = 15; //每页记录数
private int recTotal = 0; //总记录数
public List getList() {
return list;
}
public void setList(List<E> list) {
this.list = list;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public int getPageSize() {
return (0==pageSize)?10:pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getRecTotal() {
return recTotal;
}
public void setRecTotal(int recTotal) {
this.recTotal = recTotal;
}
public int getPageTotal() {
int ret = (this.getRecTotal() - 1) / this.getPageSize() + 1;
ret = (ret<1)?1:ret;
return ret;
}
public int getFirstRec()
{
int ret = (this.getPageNo()-1) * this.getPageSize();// + 1;
ret = (ret < 1)?0:ret;
return ret;
}
public String getOrderBy() {
return orderBy;
}
public void setOrderBy(String orderBy) {
this.orderBy = orderBy;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
}分页方法:@SuppressWarnings("unchecked")
public void listByPage(String hql, PageResult pageResult) {
if (null==hql){
return ;
}
Query query = this.getSession().createQuery(hql);
query.setFirstResult(pageResult.getFirstRec());
query.setMaxResults(pageResult.getPageSize());
List ret = query.list();
pageResult.setList(ret); String queryString = "";
if (hql.toUpperCase().indexOf("SELECT") != -1) {
int i = query.getQueryString().toUpperCase().indexOf("FROM");
queryString = "Select count(*) " + hql.substring(i,hql.length());
} else {
queryString = "Select count(*) " + hql;
}
// 去掉ORDER BY 的部分
int j = queryString.toUpperCase().lastIndexOf("ORDER");
if (j!=-1){
queryString = queryString.substring(0, j);
}
Query cquery = this.getSession().createQuery(queryString);
cquery.setCacheable(true);
int recTotal = ((Integer)cquery.iterate().next()).intValue();
pageResult.setRecTotal(recTotal);
}
pagationPage ,好像jquery的,,不错。
还有很多