分页的实现
来源:互联网 发布:照片打分软件 编辑:程序博客网 时间:2024/05/01 20:51
需要new一个类
//1.总页数 private int totalPage; //2.页码 private int pageNo; //3.每页显示记录数 private int pageSize; //4.总条数 private int totalNum; //5.记录集 private List item; public Page( int pageNo, int pageSize, int totalNum, List item) { this.pageNo = pageNo; this.pageSize = pageSize; this.totalNum = totalNum; this.item = item; int temp = totalNum/pageSize; this.totalPage = (totalNum%pageSize == 0 ? temp : (temp +1)); }
dao层实现
public Page findObjects(QueryHelper queryHelper,int pageNo,int pageSize) { Query query = this.getSession().createQuery(queryHelper.getQueryHql()); List<Object> list = queryHelper.getParams(); for(int i = 0;i<list.size();i++){ query.setParameter(i, list.get(i)); } if(pageNo == 0){ pageNo = 1; } //获取总记录数 ScrollableResults scroll = query.scroll(); scroll.last(); int totalNum = scroll.getRowNumber() + 1; //分页 query.setFirstResult((pageNo-1)*pageSize); query.setMaxResults(pageSize); List<T> item = query.list(); Page page = new Page(pageNo, pageSize, totalNum, item); return page; }
封装的tool类
public class QueryHelper { //查询参数 private List<Object> params = new ArrayList<Object>(); //from子句 private String fromCaluse = ""; //where子句 private String whereCaluse = ""; //orderBy子句 private String orderByCaluse = ""; public static final String ORDER_BY_DESC = "desc"; public static final String ORDER_BY_ASC = "asc"; //form Info i public QueryHelper(Class clazz,String as) { fromCaluse = "from " + clazz.getSimpleName() + " " + as; } //and i.title like ? public void addQuery(String queryStr,Object param){ //判断是否是第一个查询条件 if(whereCaluse.length() > 0){ whereCaluse += " and " + queryStr; }else{ whereCaluse += " where " + queryStr; } //添加查询参数 params.add(param); } //返回查询语句 public String getQueryHql(){ return fromCaluse + whereCaluse + orderByCaluse; } //返回符合查询语句的记录数 public String getQueryCountHql() { return "select count(*) " + fromCaluse + whereCaluse + orderByCaluse; } //返回查询参数 public List<Object> getParams(){ return params; } public void addOrderBy(String order,String sort) { //判断是否是第一个查询条件 if (orderByCaluse.length() > 0) { orderByCaluse += "," + order +" " + sort; } else { orderByCaluse += " order by " + order+" " + sort; } }}
阅读全文
0 0
- 个性化的分页实现
- 分页的实现
- Smarty的分页实现
- Smarty的分页实现
- datagrid的分页实现
- Smarty的分页实现
- 个性化的分页实现
- 实现分页的方式
- 数据库的分页实现
- repeater分页的实现
- DataList 分页的实现
- 个性化的分页实现
- repeater分页的实现
- 分页功能的实现
- SSH的分页实现
- sybase分页的实现
- JSP的分页实现!
- DataList分页的实现
- tlbblist
- 删除vector容器中的对象元素的三种方法:pop_back, erase与remove算法
- 平均查找长度
- 靓丽图像中的一抹——摩尔纹
- ubuntu中文输入法
- 分页的实现
- 缓存策略之LRU实现(基于双链表实现)
- OpenOffice格式转换中文乱码终极解决方案
- Web前端常用问题--1
- 制作如下所示页面。(东北林业大学WEB课程网页)
- Filter——实现敏感字拦截
- 优雅设计封装基于Okhttp3的网络框架(一):Http网络协议与Okhttp3解析
- NIO学习笔记——Buffer的创建与复制
- AbsListView中item重用机制