Java分页处理的三种方式

1.sql语句里使用limit
(1)前端必传参数:
//当前页码
private Integer currentPage;
//每页条数
private Integer pageSize;
//每页起始索引
Integer skip=(currentPage-1)pageSize;
(2)mybatis最后一句
limit #{skip},#{pageSize}
select count(0) from…查出总条数
(3)封装数据返回给前端
//封装数据返回
result.put(“list”,infoList);//数据
result.put(“pageSize”,pageSize);//每页大小
result.put(“currentPage”,currentPage);//当前页
result.put(“total_count”,count);//总条数
result.put(“total_page”,(int)Math.ceil(count
1.0/pageSize()));//总页数

2.使用PageHelper工具类分页
PageHelper.startPage(currentPage,pageSize);
List eiopActInfos
=Lists.newArrayList();
eiopActInfos=mapper.selectInfo();
return success(new PageInfo<>(eiopActInfos));

3.对现有集合进行分页
String totalNum=(String)result.get(totalNum);
List<List> partition=
Lists.partition(resultList,pageSize);
int totalPage=partition.size();
List partitionList=
partition.get(currentPage-1);
//封装数据返回
Map<String,Object> result=new HashMap()<>
result.put(“currentPage”,currentPage);//当前页
result.put(“pageSize”,pageSize);//每页大小
result.put(“totalNum”,totalNum);//总条数
result.put(“totalPage”,totalPage);//总页数
result.put(“list”,partitionList);//每页数据集合

计算totalPage的另一种方法:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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查询语句,并从查询结果中读取数据。最后,根据计算出的起始位置和数量,对查询结果进行分页处理,只返回需要的部分数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值