分页查询是数据库中常见的操作,用于获取指定范围内的数据,在Java中,我们通常使用JDBC(Java Database Connectivity)来执行SQL语句,以下是一个简单的示例,展示了如何使用Java和JDBC进行分页查询。
我们需要创建一个PageHelper
对象,用于设置分页参数,我们可以使用PageHelper.startPage()
方法开始分页查询,我们可以使用List
对象来存储查询结果。
以下是详细的步骤:
1、引入相关依赖
<!pom.xml > <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0</version> </dependency>
2、创建PageHelper
对象并设置分页参数
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; public class PaginationDemo { public static void main(String[] args) { // 设置每页显示的记录数 int pageSize = 10; // 设置当前页码 int currentPage = 1; // 初始化PageHelper PageHelper.startPage(currentPage, pageSize); } }
3、编写分页查询的SQL语句
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class PaginationDemo { public static void main(String[] args) { // ...省略设置分页参数的代码... // 连接数据库 try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password"); Statement statement = connection.createStatement()) { // 编写分页查询的SQL语句 String sql = "SELECT * FROM users LIMIT ?, ?"; // 设置查询参数 statement.setInt(1, (currentPage 1) * pageSize); statement.setInt(2, pageSize); // 执行查询并获取结果集 ResultSet resultSet = statement.executeQuery(sql); // 处理查询结果 List<User> userList = new ArrayList<>(); while (resultSet.next()) { User user = new User(); user.setId(resultSet.getInt("id")); user.setName(resultSet.getString("name")); user.setAge(resultSet.getInt("age")); userList.add(user); } // 输出查询结果 for (User user : userList) { System.out.println(user); } } catch (Exception e) { e.printStackTrace(); } } }
4、定义User
类
public class User { private int id; private String name; private int age; // getter和setter方法省略... @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + ''' + ", age=" + age + '}'; } }
以上代码展示了如何使用Java和JDBC进行分页查询,在实际项目中,你可能需要根据具体需求对代码进行调整。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/649753.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复