分页查询 效果图:
第一步:写dao(注意:这里直接写实现类)
@Override
public int findCount() {
String hql="select count(*) from SysDictionaries";
List<Long> list = this.getHibernateTemplate().find(hql);
if (list.size()>0){
return list.get(0).intValue();
}
return 0;
}
@Override
// 分页查询字典
public List<SysDictionaries> findByPage(int begin, int pageSize) {
DetachedCriteria criteria = DetachedCriteria.forClass(SysDictionaries.class);
List<SysDictionaries> list = this.getHibernateTemplate().findByCriteria(criteria,begin,pageSize);
return list;
}
第二步:Service类
// 分页查询
public PageBean<SysDictionaries> findByPage(Integer currPage) {
PageBean<SysDictionaries> pageBean = new PageBean<SysDictionaries>();
// 封装当前页数
pageBean.setCurrPage(currPage);
// 每页显示记录数
int pageSize = 10;
pageBean.setPageSize(pageSize);
// 数据库总记录数
int totalCount = dictDao.findCount();
pageBean.setTotalCount(totalCount);
// 总页数
double tc = totalCount;
Double num = Math.ceil(tc/pageSize);
pageBean.setCurrPage(num.intValue());
// 每页显示的数据
int begin=(currPage-1)*pageSize;
List<SysDictionaries> list = dictDao.findByPage(begin,pageSize);
pageBean.setList(list);
return pageBean;
}
第三步:Action类
// 当前页面为1
private Integer currPage = 1;
public void setCurrPage(Integer currPage) {
this.currPage = currPage;
}
// 分页查询
public String findAll(){
PageBean<SysDictionaries> pageBean = dictService.findByPage(currPage);
// 把pageBean存入值栈
ActionContext.getContext().getValueStack().push(pageBean);
return "findAll";
}
struts配置文件,自己写就可以了