其实分页显示很简单,在这里用到几个文件与数据库连接的文件DBUtil.java ,抽象方法实现类(主要是对数据库的操作方法) UserDaoImpl.java ,serlet文件(主要获得查询记录再返回jsp进行显示,《jsp下拉列表》博文中提到过) userlistServlet.java ,和jsp文件(负责显示查询的记录)userlist.jsp,在这里只显示DBUtil文件中的实现分页显示的方法的代码
如下:
public List<oj_user> getUserList(int pNo, int pageSize) {
// TODO Auto-generated method stub
oj_user user=null;
List<oj_user> list=null;
conn=DBUtil.getConnection();
sql="select * from oj_user limit ? , ?";
try {
ps=conn.prepareStatement(sql);
ps.setInt(1, (pNo-1)*pageSize);
ps.setInt(2, pageSize);
rs=ps.executeQuery();
list=new ArrayList<oj_user>();
while(rs.next()){
user=new oj_user();
if(rs.getObject("qq")==null){//为了防止数字出现null的情况
user.setQq(new BigInteger("0"));
}else{
user.setQq(new BigInteger(""+rs.getObject("qq")));
}
if(rs.getObject("phone")==null){//为了防止数字出现null的情况
user.setPhone(new BigInteger("0"));
}else{
user.setPhone(new BigInteger(""+rs.getObject("phone")));
}
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
user.setTotal(rs.getInt("total"));
user.setAccept(rs.getInt("accept"));
user.setAclist(rs.getString("aclist"));
user.setNoaclist(rs.getString("noaclist"));
user.setPower(rs.getString("power"));
user.setBlog(rs.getString("blog"));
list.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(conn, ps, rs);
}
return list;
}