Java实现分页代码

下面是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技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • spring控制事务的三种方式小结

    让我为您详细讲解一下“spring控制事务的三种方式小结”。 什么是事务 在介绍 Spring 的事务管理之前,我们需要先了解一下什么是事务。在数据库中,事务是指一组数据库操作,它们要么全部执行,要么全部不执行,是一个不可分割的工作单元。如果其中任意一条操作失败,那么整个事务就会被回滚,也就是所有已经提交的操作都会被回滚,回到事务开始前的状态。 Spring…

    Java 2023年5月20日
    00
  • Maven项目修改JDK版本全过程

    以下是“Maven项目修改JDK版本全过程”的完整攻略。 1. 确认当前使用的JDK版本 在开始之前,我们需要先确定当前Maven项目所使用的JDK版本,可以通过以下命令查看当前JDK版本: mvn -version 执行命令后,会输出一些关于Maven和Java的基本信息,其中包含Java版本信息,如下所示: Java version: 1.8.0_211…

    Java 2023年5月20日
    00
  • Spring Security Remember me使用及原理详解

    Spring Security Remember me是一种通过在用户登录后为用户生成Token,使用户在下一次访问时可以跳过登录,直接使用Token进行自动登录的机制。 实现Remember me功能可以使用Spring Security提供的RememberMeAuthenticationFilter过滤器,该过滤器会在用户登录成功后创建一个Token,…

    Java 2023年5月20日
    00
  • 在idea中将创建的java web项目部署到Tomcat中的过程图文详解

    下面我将为您详细讲解在Idea中将创建的Java Web项目部署到Tomcat中的完整攻略。 准备工作 在开始部署之前,我们需要先进行如下准备工作: 安装JDK环境 安装Tomcat服务器 安装Idea开发工具 创建Java Web项目 在Idea中创建Java Web项目的步骤如下: 打开Idea开发工具 点击”File” -> “New” -&gt…

    Java 2023年6月2日
    00
  • IDEA项目的依赖(pom.xml文件)导入问题及解决

    下面是详细讲解 IDEA 项目的依赖(pom.xml 文件)导入问题及解决的完整攻略。 一、什么是 pom.xml 文件 pom(Project Object Model)文件是 Maven 中的一个核心概念,也是 Java 项目管理中的重要组成部分。pom.xml 文件主要用来描述 Maven 项目的基本信息、构建信息、依赖信息。 通常情况下,我们在使用 …

    Java 2023年5月20日
    00
  • javac、java打jar包命令实例

    下面是Java编译器(javac)、Java解释器(java)和打jar包的命令实例攻略。 javac命令实例 javac命令用于编译Java程序,将源代码编译成可执行的Java字节码文件,该命令的语法格式如下: javac [options] [source files] options:可选参数,比如指定编译器版本、指定输出目录等。 source fil…

    Java 2023年5月19日
    00
  • 详解在SpringBoot中@Transactional事物操作和事物无效问题排查

    详解在SpringBoot中@Transactional事物操作和事物无效问题排查 事物被认为是许多企业应用程序的重要组成部分。在SpringBoot中,我们可以使用@Transactional注解来处理事务。但有时候,这个注解可能无法正常工作,导致事物无效。这时我们需要排查问题。下面是详细攻略: 问题排查 无效的事物操作可能是由以下原因引起的: 事物管理器…

    Java 2023年5月20日
    00
  • Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识

    下面是关于“Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识”的完整攻略,包含两个示例说明。 Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识 在本文中,我们将介绍MyBatis的基础知识,包括配置文件、映射器和SQL语句等。 步骤1:添加依赖 首先,我们需要在pom…

    Java 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部