Java分页
2016-05-18 22:12
399 查看
JavaWeb分页的实现
2016/5/18 21:53:35 SeventeenWen思路就是根据当前页码和每页记录数查询数据库,计算出总记录数,根据总记录数和每页记录数算出总页数,最后在页面上做分页处理。
import java.util.List; public class PageBean<T> { // 当前页码 private int pageCode; // 总记录数 private int totalCode; // 每页记录数 private int paginal; // 当前页记录 private List<T> beanList; // private String url; @Override public String toString() { return "PageBean [pageCode=" + pageCode + ", totalCode=" + totalCode + ", paginal=" + paginal + ", beanList=" + beanList + ", url=" + url + "]"; } public int getPageCode() { return pageCode; } public void setPageCode(int pageCode) { this.pageCode = pageCode; } public int getTotalCode() { return totalCode; } public void setTotalCode(int totalCode) { this.totalCode = totalCode; } public int getPaginal() { return paginal; } public void setPaginal(int paginal) { this.paginal = paginal; } public List<T> getBeanList() { return beanList; } public void setBeanList(List<T> beanList) { this.beanList = beanList; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public int getTp(){ // 计算总页数tp 总记录数除以每页记录数 int tp = totalCode/paginal; // 总记录%每页记录数 如果有余说明有还需要加一页显示 return totalCode%paginal==0 ? tp :tp+1; } }
数据库查询:
/** * 查询页数 * @return count */ public int findCount(){ int count=0; try { Connection con = JdbcUtils.getConnection(); String sql = "SELECT COUNT(*) FROM t_goods"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); if(rs.next()){ count=rs.getInt(1); } rs.close(); con.close(); } catch (SQLException e) { e.printStackTrace(); } return count; } /** * * 传递两个参数当前页码数,和每页记录数 * @param pageCode * @param paginal * @return */ public PageBean<Beans> findAll(int pageCode,int paginal){ PageBean<Beans> pb = new PageBean<Beans>(); pb.setPageCode(pageCode); pb.setPaginal(paginal); int totalCode = this.findCount(); // 得到总记录数 pb.setTotalCode(totalCode); List<Goods> list = new ArrayList<Beans>(); try { String sql = "select *from t_goods limit ?,?"; Connection con =JdbcUtils.getConnection(); PreparedStatement ps =con.prepareStatement(sql); //表示查询从第value条数据到paginal条数据 int value = (pageCode-1)*paginal; System.out.println(value); ps.setInt(1,value); System.out.println(paginal); ps.setInt(2, paginal); ResultSet re = ps.executeQuery(); while(re.next()){ /从数据库得到的数据保存在Bean对象中 } re.close(); ps.close(); con.close(); } catch (SQLException e) { e.printStackTrace(); } pb.setBeanList(list); return pb; }
页面:
取出在pageBean中的页码数,当前页pageBean.pageCode,全部页pageBean.tp根据这两个值就可以计算所有的需要了;
相关文章推荐
- Java技术体系
- 【小马迷途】—myeclipse快速开发技巧
- java遍历map最简单的方法
- java反射机制的基本用法
- 浅谈Spring
- ssm(spring+springMVC+Mybatis)框架 集成Quartz(定时任务框架)
- java反射之Constructor简单应用
- Java 多线程(六) synchronized关键字详解
- eclipse安装maven插件
- java全局异常捕获
- 【转】JDK动态代理原理
- git-canal:学习记录1
- Struts.xml命名空间配置
- spring 学习一
- Java学习笔记:操作符易错内容
- 基于Eclipse Mars.2的OSGi环境搭建
- JDK 源码解析 —— Condition
- Java正则表达式
- Spring上下文ContextLoaderListener作用
- Jmeter-3.0的源码导入eclipse并执行