//分页的方法之所以使用ArrayList来保存结果,是因为要是用ResultSet来保存的话,ResultSet要求数据库要时刻保存连接才可以,一旦断开数据库,rs的数据就没有了。
public ArrayList getFenYe(int pageNow){
ArrayList al = new ArrayList();
//1.连接数据库
ct = new ConnDb().getConn();
//分页技术的基本算法
String sql = "select * from (select t.*, rownum rn from" +
"(select * from users order by userId) t " +
"where rownum<="+pageSize*pageNow+") where rn>="+(pageSize*(pageNow-1)+1);
try {
ps = ct.prepareStatement(sql);
rs = ps.executeQuery();
//取出记录
//每取出一条记录,就放入到一个UserBean中
while(rs.next()){
UserBean ub = new UserBean();
ub.setUserId(rs.getInt(1));
ub.setUserName(rs.getString(2));
ub.setPasswd(rs.getString(3));
ub.setEmail(rs.getString(4));
ub.setGrade(rs.getInt(5));
//将ub添加到ArrayList中
al.add(ub);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
//关闭资源
DbClose dc = new DbClose();
dc.Close();
}
return al;
}
数据库分页算法java实现
最新推荐文章于 2024-04-15 11:02:25 发布