JAVA_SSH框架分页例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
//把分页信息保存到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 界面
共 |