下面是Java实现分页代码的完整攻略。
确定分页参数
Java实现分页代码的第一步就是要确定分页参数,常见的分页参数有:当前页码、每页显示的记录数、总记录数、总页数等。
计算总页数
需要先根据每页记录数和总记录数计算出总页数。计算方法是将总记录数除以每页显示的记录数,如果余数大于0,则总页数需要加1。
// 计算总页数
int totalPage = totalRecord / pageSize;
if (totalRecord % pageSize > 0) {
totalPage++;
}
查询当前页数据
根据分页参数查询当前页的数据。在SQL语句中使用LIMIT关键字限制查询结果的范围。
// SELECT * FROM table LIMIT offset, pageSize
String sql = "SELECT * FROM table LIMIT ?, ?";
List<Object> params = new ArrayList<Object>();
params.add((currentPage - 1) * pageSize);
params.add(pageSize);
List<Map<String, Object>> data = jdbcTemplate.queryForList(sql, params.toArray());
构建分页导航栏
分页导航栏可以让用户方便地切换不同页码的数据。一般情况下,分页导航栏可以显示当前页、总页数、首页、上一页、下一页、尾页等信息。
// 构建分页导航栏
StringBuilder sb = new StringBuilder();
sb.append("当前第" + currentPage + "页,共" + totalPage + "页");
if (currentPage > 1) {
sb.append("<a href='?page=1'>首页</a>");
sb.append("<a href='?page=" + (currentPage - 1) + "'>上一页</a>");
}
if (currentPage < totalPage) {
sb.append("<a href='?page=" + (currentPage + 1) + "'>下一页</a>");
sb.append("<a href='?page=" + totalPage + "'>尾页</a>");
}
示例1:SpringBoot分页实现
下面是使用SpringBoot框架实现分页的示例代码。
@GetMapping("/users")
public String getAllUser(@RequestParam(defaultValue = "1") int page,
@RequestParam(defaultValue = "10") int size,
Model model) {
int totalRecord = userService.countUser();
int totalPage = totalRecord / size;
if (totalRecord % size > 0) {
totalPage++;
}
List<User> users = userService.getUserByPage((page - 1) * size, size);
model.addAttribute("users", users);
model.addAttribute("totalPage", totalPage);
model.addAttribute("currentPage", page);
return "user-list";
}
示例2:JSP分页实现
下面是使用JSP页面实现分页的示例代码。
<%
int currentPage = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
int pageSize = 10;
int totalRecord = userService.countUser();
int totalPage = totalRecord / pageSize;
if (totalRecord % pageSize > 0) {
totalPage++;
}
List<User> users = userService.getUserByPage((currentPage - 1) * pageSize, pageSize);
%>
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<% for (User user : users) { %>
<tr>
<td><%= user.getId() %></td>
<td><%= user.getName() %></td>
<td><%= user.getAge() %></td>
</tr>
<% } %>
</tbody>
</table>
<div>
当前第<%= currentPage %>页,共<%= totalPage %>页
<% if (currentPage > 1) { %>
<a href="?page=1">首页</a>
<a href="?page=<%= currentPage - 1 %>">上一页</a>
<% } %>
<% if (currentPage < totalPage) { %>
<a href="?page=<%= currentPage + 1 %>">下一页</a>
<a href="?page=<%= totalPage %>">尾页</a>
<% } %>
</div>
以上就是Java实现分页代码的完整攻略,希望可以对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现分页代码 - Python技术站