JAVA_SSH框架分页例子

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SSH框架分页例子代码如下:

1、action类

//分页

private int page;//第几页

private PageBean pageBean;//包含分布信息的bean

public int getPage() {

return page;

}

public void setPage(int page) {//若URL中无此参数,会默认为第1页this.page = page;

}

public PageBean getPageBean() {

return pageBean;

}

public void setPageBean(PageBean pageBean) {

this.pageBean = pageBean;

}

public String queryCarPage() {//查询车辆信息

//分页的pageBean,参数pageSize表示每页显示记录数,page为当前页

pageBean = carManageService.queryForPage(5, page);

// ActionContext.getContext().getValueStack().push(pageBean);

return "success";

}

2·1 service类

public PageBean queryForPage(int pageSize,int page);

2·2 serviceimpl类

//分页查询车辆

@Override

public PageBean queryForPage(int pageSize, int page) {

/**

* 分页查询

* @param currentPage 当前第几页

* @param pageSize 每页大小

* @return 封闭了分页信息(包括记录集list)的Bean

*/

final String hql = "from TCar";//查询语句

int allRow = carManageDao.getAllRowCount(hql);//总记录数

int totalPage = PageBean.countTotalPage(pageSize, allRow);//总页数

final int offset = PageBean.countOffset(pageSize, page);//当前页开始记录

final int length = pageSize;//每页记录数

final int currentPage = PageBean.countCurrentPage(page);

List list = carManageDao.queryForPage(hql,offset, length);//"一页"的记录

//把分页信息保存到Bean中

PageBean pageBean = new PageBean();

pageBean.setPageSize(pageSize);

pageBean.setCurrentPage(currentPage);

pageBean.setAllRow(allRow);

pageBean.setTotalPage(totalPage);

pageBean.setList(list);

pageBean.init();

return pageBean;

}

3·1 dao类

public List queryForPage(final String hql,final int offset,final int length);

public int getAllRowCount(String hql);

3·2 daoimpl类

加入:

@Resource

private SessionFactory sessionFactory;

public void setSessionFactory(SessionFactory sessionFactory) {

this.sessionFactory = sessionFactory;

}

public Session getSession(){

return sessionFactory.getCurrentSession();

}

//分页查询

@Override

public int getAllRowCount(String hql) {

return getSession().createQuery(hql).list().size();

}

@Override

public List queryForPage(String hql, int offset, int length) {

Query q = getSession().createQuery(hql);

q.setFirstResult(offset);

q.setMaxResults(length);

return q.list();

}

4 界面