利用Java对后端数据进行分页处理(Java假分页)

代码如下:

import java.util.Collections;
import java.util.List;

/**
 * java分页 辅助器
 */
public class PageHelper<T> {

    /**
     * 每页显示条数
     */
    private final int pageSize;
    /**
     * 原集合
     */
    private final List<T> data;

    private PageHelper(List<T> data, int pageSize) {
        this.data = data;
        this.pageSize = pageSize;
    }

    /**
     * 创建分页器
     *
     * @param data     需要分页的数据
     * @param pageSize 每页显示条数
     * @param <T>      业务对象
     * @return 分页器
     */
    public static <T> PageHelper<T> create(List<T> data, int pageSize) {
        return new PageHelper<>(data, pageSize);
    }

    /**
     * 得到分页后的数据
     *
     * @param pageNum 页码
     * @return 分页后结果
     */
    public List<T> getPagedList(int pageNum) {
        int fromIndex = (pageNum - 1) * pageSize;
        if (fromIndex >= data.size()) {
            return Collections.emptyList();
        }

        int toIndex = pageNum * pageSize;
        if (toIndex >= data.size()) {
            toIndex = data.size();
        }
        return data.subList(fromIndex, toIndex);
    }

    public int getPageSize() {
        return pageSize;
    }

    public List<T> getData() {
        return data;
    }

}

使用示例:

PageHelper<User> pageHelper = PageHelper.create(users, Integer.parseInt(param.getPageSize()));
users = pageHelper.getPagedList(Integer.parseInt(param.getPageNo()));
return users;
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java后端中,大数据分页处理通常采用以下步骤: 1. 从数据库中查询出所有符合条件的数据。 2. 根据分页请求参数,计算出需要返回的数据的起始位置和数量。 3. 使用Java集合类(如List)对查询结果进行分页处理,只返回需要的部分数据。 4. 将分页处理后的数据返回给前端。 以下是一个示例代码,用于实现基于JDBC和MySQL数据库的大数据分页处理: ```java public List<User> getUsers(int pageNumber, int pageSize) throws SQLException { // 计算需要查询的数据的起始位置和数量 int startIndex = (pageNumber - 1) * pageSize; int endIndex = pageNumber * pageSize; // 建立数据库连接 Connection conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD); // 执行SQL查询语句 PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users"); ResultSet rs = stmt.executeQuery(); // 从查询结果中读取数据,并进行分页处理 List<User> userList = new ArrayList<>(); int count = 0; while (rs.next()) { if (count >= startIndex && count < endIndex) { User user = new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); userList.add(user); } count++; } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); return userList; } ``` 在以上示例代码中,pageNumber和pageSize参数分别表示要查询的页码和每页返回的数据数量。首先,根据这两个参数计算出需要查询的数据的起始位置和数量。然后,建立数据库连接,执行SQL查询语句,并从查询结果中读取数据。最后,根据计算出的起始位置和数量,对查询结果进行分页处理,只返回需要的部分数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值