Java语言实现分页查询需要使用到数据库查询语句中的LIMIT关键字,和Java代码中的分页逻辑。下面是一个简单的示例代码:
假设有一个数据库表名为“user”,有字段“id”和“name”: CREATE TABLE user ( id int(11) NOT NULL, name varchar(50) DEFAULT NULL, PRIMARY KEY (id) ); 实现Java代码中的分页逻辑,例如定义一个方法: public List getUsers(int pageNum, int pageSize) { // 计算起始索引 int startIndex = (pageNum - 1) * pageSize; // 执行查询语句 String sql = "SELECT id, name FROM user LIMIT ?, ?"; List userList = new ArrayList<>(); try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "user", "password"); PreparedStatement ps = conn.prepareStatement(sql)) { ps.setInt(1, startIndex); ps.setInt(2, pageSize); ResultSet rs = ps.executeQuery(); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); User user = new User(id, name); userList.add(user); } } catch (SQLException e) { e.printStackTrace(); } return userList; }
在该方法中,首先计算起始索引,然后执行带有LIMIT关键字的查询语句,将结果集封装为Java对象放入List中返回。
在调用该方法时,传入页码和每页大小即可实现分页查询: List userList = getUsers(2, 10); // 查询第2页,每页10条记录 注意:在实际应用中,还需要考虑分页查询时的异常处理、分页参数的合法性校验等问题。
评论