在mysql,oracle等关系型数据库的时候,实现分页查询很简单,只需要在写sql语句的时候,用limit就可以了,最近在做大数据,需要页面的展示,不得不查询hbase数据库,又不能一次显示的数据太多,所以就想到了分页,在最新的hbase中我们进入shell命令下,也有limit的实现,但是hbase的limit只能是查询前多少条内容,不能查询某个区间段的。于是我是用row来做的分页查询。
下面是PageInfo的代码:
import java.util
import java.util.{LinkedHashMap, Map}
import org.apache.hadoop.hbase.client.{ Result, ResultScanner}
import org.apache.hadoop.hbase.filter.{SingleColumnValueFilter, Filter, CompareFilter}
import org.apache.hadoop.hbase.util.Bytes
/**
* Created by zhaocd on 2015-10-19.
*/
class PageInfo {
var currentPage: Int = 1//第几页
var pageSize: Int = 20//每页条数
var totalPage: Int = 0//总页数
var totalCount: Int = 0//总条数
var resultList: Object = new util.LinkedList()//存放结果集的集合
def getCurrentPage: Int = {
return currentPage
}
def setCurrentPage(currentPage: Int) {
this.currentPage = currentPage
}
def getPageSize: Int = {
return pageSize
}
def getResultList: Object={
return resultList
}
def setResultList(resultList:Object ) {
this.resultList=resultList
}
def setPageSize(pageSize: Int) {
this.pageSize = pageSize
}
def getTotalPage: Int = {
return totalPage
}
def setTotalPage(totalPage: Int) {
this.totalPage = totalPage
}
def getTotalCount: Int = {
return totalCount
}
def setTotalCount(totalCount: Int) {
th