javaweb实现表的分页
时间: 2024-03-26 15:39:13 浏览: 13
要实现表的分页,可以按照以下步骤进行操作:
1. 获取总记录数
使用 SQL 语句查询表中记录的总数,并将结果保存到变量中。
2. 计算总页数
通过总记录数和每页显示的记录数计算总页数,也可根据需要设置默认每页显示记录数。
3. 查询指定页数据
根据当前页数和每页显示的记录数,使用 SQL 语句查询指定页的数据,并将查询结果保存到 List 集合中。
4. 显示分页导航栏
根据总页数和当前页数,生成分页导航栏,以方便用户在不同页之间进行切换。
以下是一个简单的示例代码:
```java
// 获取总记录数
String sqlCount = "SELECT COUNT(*) FROM your_table";
int totalRecords = 0;
try {
Connection conn = getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sqlCount);
if (rs.next()) {
totalRecords = rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
}
// 计算总页数
int pageSize = 10; // 每页显示记录数
int totalPages = (totalRecords + pageSize - 1) / pageSize;
// 查询指定页数据
int currentPage = 1; // 当前页数
String sqlQuery = "SELECT * FROM your_table LIMIT " + (currentPage - 1) * pageSize + "," + pageSize;
List<YourBean> dataList = new ArrayList<>();
try {
Connection conn = getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sqlQuery);
while (rs.next()) {
YourBean bean = new YourBean();
// 设置 bean 属性值
dataList.add(bean);
}
} catch (SQLException e) {
e.printStackTrace();
}
// 显示分页导航栏
StringBuilder sb = new StringBuilder();
sb.append("共 " + totalRecords + " 条记录,每页 " + pageSize + " 条,共 " + totalPages + " 页,当前第 " + currentPage + " 页 ");
sb.append("<a href=\"?page=1\">首页</a> ");
if (currentPage > 1) {
sb.append("<a href=\"?page=" + (currentPage - 1) + "\">上一页</a> ");
}
if (currentPage < totalPages) {
sb.append("<a href=\"?page=" + (currentPage + 1) + "\">下一页</a> ");
}
sb.append("<a href=\"?page=" + totalPages + "\">尾页</a>");
String pageNav = sb.toString();
```
其中,getConnection() 方法用于获取数据库连接,YourBean 是数据表对应的 JavaBean。