11.16

今天学了

修改 UserBean.java
在 UserBean 中添加一个方法,该方法用于获取记录数。得到数据库中记录数的过程与
查询所有用户信息的过程是相同的,只是 SQL 语句不同,最后得到的结果集不同。
SQL 语句是:
select count(*) from usertable
结果集只有一行一列,所以遍历和取值比较简单。只要将指针指向第一行,然后取出
第一列内容即可,代码如下:
rs.next();
int n = rs.getInt(1);
注意:虽然只有一条记录,但仍然需要使用 next 方法,因为得到结果集的时候指针指
向第一条记录的前面。
然后根据记录数计算页数,假设每页显示 10 条记录,则页数为:
pageCount = (n-1)/10+1;
获取总页数的方法如下:
public Integer getPageCount()
{
int pageCount=1;

// 连接对象
Connection con=null;
// 语句对象
Statement stmt=null;
// 结果集对象
ResultSet rs=null;
// 查询语句
String sql="select count(*) from usertable";
try
{
// 创建上下文环境
Context initContext = new InitialContext();
// 查找数据源
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/TestDB");
// 从连接池中获取连接
con = ds.getConnection();
// 创建语句对象
stmt=con.createStatement();
// 执行 select 语句,返回结果集对象
rs=stmt.executeQuery(sql);
// 指向结果集的第一条
rs.next();
// 得到第一列
int n = rs.getInt(1);
// 计算总页数
pageCount = (n-1)/10+1;
}catch(Exception e)
{
}
finally
{
// 关闭对象的顺序:rs stmt con
// 与创建对象的顺序相反
try{ rs.close(); }catch(Exception e){}
try{ stmt.close(); }catch(Exception e){}
try{ con.close(); }catch(Exception e){}
}
// 返回计算的结果

return new Integer(pageCount);
}
注意:计算得到的总页数是整数,因为在传递信息的时候需要使用对象,所以需要把
整数转换为封装类型。

原文地址:https://www.cnblogs.com/dty602511/p/14170085.html