这几天一直在复习JSP相关的知识,昨天重新做了一次JSP分页显示功能,但是因为时间原因没能及时做好记录,今天将这个小知识点补上。
首先我们需要一个连接数据库的帮助类:DbConnection,一个servlet服务器类:AllGoods,一个实体类:Goods,一个操作数据库类:SelectGoodsDB,一个JSP页面:homePage。
工具类和实体类就不具体谢了,主要写一下查询和服务器的处理。
SelectGoodsDB类:
public class SelectGoodsDB {
// 链接数据库对象
private Connection conn = null;
// 执行语句对象
private PreparedStatement ps = null;
// 接受返回的结果集对象
private ResultSet rs = null;
// 每页显示商品的数量
private final int NUM = 3;
List<Goods> list;
// 查询所有的商品信息
public List<Goods> getGoods(int page) {
list = new ArrayList<Goods>();
// 获取数据库的链接
conn = DbConnection.getConnection();
// 定义查询语句(查询语句需要用limit来查询每个页面的数据)
String sql = "SELECT `no`, `name`, address, time, type FROM t_goods LIMIT "
+ (page - 1) * NUM + ", " + NUM + ";";
try {
// 执行查询语句
ps = conn.prepareStatement(sql);
// 接受返回的结果集
rs = ps.executeQuery();
// 循环遍历结果,保存到集合当中
while (rs.next()) {
Goods good = new Goods();
good.setG_no(rs.getString("no"));
good.setG_name(rs.getString("name"));
good.setG_address(rs.getString("address"));
good.setG_time(rs.getString("time"));
good.setG_type(rs.getString("type"));
list.add(good);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DbConnection.closeAll(rs, ps, conn);
}
return list;
}
// 查询计算最大页码数