java手动分页处理
经常我们在操作数据库的时候都会用到分页,而且很多框架也提供了分页功能,像PageHelper.
但是在有些项目中,需要将数据查询出来进行手动分页,那么原理是什么呢?
其实很简单,首先需要知道数据总量,如果不知道数据总量,那么就要指定数据总量:totalCount
然后每页查询多少条数据,需要指定.我们默认pageSize=100
然后就进行分页了,下面是分页的代码
// 分页
short pageSize = 100;
int pageNum = totalCount / pageSize;
int surplus = totalCount % pageSize;//是不是整除
if (surplus > 0) {
pageNum = pageNum + 1;
}
for(int i = 0; i < pageNum; i++){
int pageBegin = i * pageSize;
//传入pageBegin,pageSize进行业务逻辑处理
}
上面是将所有数据进行分页处理.然后通过jdbc操作数据库,查询出业务数据.
java手动分页处理的更多相关文章
- 对一个结果集(List)进行手动分页
对一个链表List,进行手动分页,核心代码就是pagin函数: import lombok.extern.slf4j.Slf4j; import org.junit.Before; import or ...
- Laravel 手动分页实现
Laravel 手动分页实现 基于5.2版本 在开发过程中有这么一种情况,你请求Java api获取信息,由于信息较多,需要分页显示.Laravel官方提供了一个简单的方式paginate($perP ...
- Java 动态分页类
动态分页类: Cls_page.java package pagination; public class Cls_page { private int nums;// 总条目数 private i ...
- 关于laravel 得手动分页问题
一般得分页,我们只需要使用paginate方法,就可以简单得搞定.但是遇到数组得组合情况呢?这个时候,就需要我们使用自定义分页了.首先我们看下laravel得分页方法源码: #vendor/larav ...
- laravel带条件查询手动分页
后台php代码: //手动分页 $users = $kaoqin; //打算输出的数组,二维 $perPage = 10; if ($request->has('page')) { $curre ...
- laravel二维数组手动分页显示
示例:数组 $user 如下 $user: array (size=) 'sort' => array (size=) => float 0.028616622341171 => f ...
- 纯js手动分页
昨天让做个页面,后台提供所有数据,没有做好分页,需要前端js手动分页. 我参考了 http://www.cnblogs.com/jiechn/p/4095029.html 做了些许改动让分页效果更加完 ...
- 【java】分页查询实体类
package com.dmsd.itoo.tool.pageModel; import java.io.Serializable; import java.util.HashMap; import ...
- Java实现分页数据获取CachedRowSet
步骤 1.加载驱动 2.连接数据库 3.创建ResultSet 4.创建CacheRowSet 5.设置并获取分页数据 6.执行查询,展示数据 package ch13; import javax.s ...
随机推荐
- 2015-03-22——js常用的String方法
String string.charAt(pos); //返回字符串中pos位置处的字符.如果pos小于0或大于等于string.length返回空字符串.模拟实现:Function.prototy ...
- 原!!关于java 单元测试Junit4和Mock的一些总结
最近项目有在写java代码的单元测试,然后在思考一个问题,为什么要写单元测试??单元测试写了有什么用??百度了一圈,如下: 软件质量最简单.最有效的保证: 是目标代码最清晰.最有效的文档: 可以优化目 ...
- Linux学习笔记(9)linux网络管理与配置之一——Linux基础网络命令与学习大纲(0)
大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS客户端 4.配置名称解析顺序 5.配置路由与默认网关 6.双网卡绑定 [1] ping [2]net ...
- Mac 启动和关闭rabbitmq
1.安装 brew install rabbitmq 2.启动及关闭RabbitMQ服务 前台启动 sudo ./rabbitmq-server 或 sudo su/usr/local/Cell ...
- 剑指offer(第2版)刷题 Python版汇总
剑指offer面试题内容 第2章 面试需要的基础知识 面试题1:赋值运算符函数 面试题2:实现Singleton模式 解答 面试题3:数组中重复的数字 解答 面试题4:二维数组中的查找 解答 面试题 ...
- 吴超老师课程--Hbase Shell
hbase提供了一个shell的终端给用户交互 名称 命令表达式 创建表 create '表名称', '列族名称1','列族名称2','列族名称N' 添加记录 put '表名称', '行名称', '列 ...
- Boost scoped_ptr scoped_array 以及scoped_ptr与std::auto_ptr对比
boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放.下列代码演示了该指针的基本应用: #include <str ...
- cdojR - Japan
地址:http://acm.uestc.edu.cn/#/contest/show/95 题目: R - Japan Time Limit: 3000/1000MS (Java/Others) ...
- cdoj1344卿学姐种美丽的花
地址:http://acm.uestc.edu.cn/#/problem/show/1344 题目: 卿学姐种美丽的花 Time Limit: 8000/4000MS (Java/Others) ...
- 无线安全之破解WPA/WPA2 加密WiFi
准备 可以使用无线网络的Kali Linux 由于古老的WPE加密的WiFi已经几乎没有了,所以这里我就不去细说如何破解WPE加密的WiFi了.今天就来聊聊 如何来使用Kali Linux来破解Wpa ...