标签:ret cep try png 链接 number 问题 解决办法 exe
问题分析:
当我们想检索数据库中的信息并将其显示到网页上时,如果数据库中的信息过多时 。一方面会使数据库开销非常大,降低性能;另一方面在一张页面上显示过多数据也会降低用户体验。
解决办法:
1.由于在分页之后每一页显示的信息不再仅仅是数据空中的数据而是类似于下图:
所以我们需要创建一个page类:
package com.neuedu.manage.bean; import java.util.List; public class page <T>{ private List<T> data;//数据库查询出的数据 private int totalRecord;//总记录数,数据库查询 private int pageNumber;//当前页码 private int pageSize;//每页的记录数 private String path;//jsp页面链接所要跳转的地址 // private int index; //当前索引,计算得到 // private int totalPage;//总页数 计算得到
}
其中我们为前5个变量创建GET和SET方法;由于后两个变量是计算得到的,只为他们创建GET方法:
public int getIndex() { /** * 当前索引值,计算得到的 */ return (getPageNumber()-1)*pageSize; } public int getTotalPage() { /** * 总页数 */ if(totalRecord%pageSize==0){ return totalRecord/pageSize; } return (totalRecord/pageSize +1); }
2.dao层代码:根据当前索引值和每页的记录数将结果查询出来,然后将其封装成user对象并保存到Student类的LIst链表中,将其返回。
public List<Student> getLimitStuList(int index, int pageSize) { JDBCUtil jdbcUtil=new JDBCUtil(); Connection con = jdbcUtil.getConnection(); PreparedStatement pst=null; ResultSet rSet=null; List<Student>list= new ArrayList<Student>(); String sql="SELECT * FROM students limit ?,?"; try { pst = con.prepareStatement(sql); pst.setInt(1, index); pst.setInt(2, pageSize); rSet = pst.executeQuery(); while(rSet.next()) { int id=rSet.getInt("id"); String name=rSet.getString("name"); String school=rSet.getString("school"); double score=rSet.getDouble("score"); list.add(new Student(id, name, school, score)); } } catch (SQLException e) { e.printStackTrace(); } finally{ JDBCUtil.close(con, pst, rSet); } System.out.println(list); return list; }
未完待续。。。。
标签:ret cep try png 链接 number 问题 解决办法 exe
原文地址:http://www.cnblogs.com/alternative/p/7373326.html