sql,mybatis,javascript分页功能的实现

用三种不同的方法实现多数据的分页功能。原生sql和mybatis的操作需要每次点击不同页数时都发送http请求,进行一次数据库查询,如果放在前端页面写js语句则不需要每次都请求一次,下面是三种不同的方式示例。

效果图

sql,mybatis,javascript分页功能的实现

第一种js方式:

 //分页         主要思想是获取当前页数和每页需要显示的数据量,然后把总数据用JavaScript slice()方法进行选取
$scope.queryList = function () {
//num1 当前页数
var num1 = $scope.paginationConf.currentPage;
//num2 当前每页显示的数据量
var num2 = $scope.paginationConf.itemsPerPage;
var num3;
var num4;
if (num1 > 0) {
num3 = (num1 - 1) * num2;
num4 = (num1 - 1) * num2 + num2;
} else {
num3 = num1 * num2;
num4 = num1 * num2 + num2;
}
//分页显示的数据数
$scope.postData = [];
//总的数据数
var postDataAll = [];
for (var i in listData) {
postDataAll[i] = listData[i];
}
//取得分页显示的数据项
$scope.postData = postDataAll.slice(num3, num4);
//共xx条数据
$scope.paginationConf.totalItems = postDataAll.length;
}; $scope.$watch('paginationConf.currentPage + paginationConf.itemsPerPage', $scope.queryList);

  

第二种 普通sql语句   主要思想是利用limit对数据进行限定

data.page 页数
data.pagesize  每页显示的数据量
if (data.page < 1) {
data.page = 1;
}
sql += " limit " + ((data.page - 1) * data.pagesize) + "," + (data.page * data.pagesize);

  

第三种 mybatis   同样是利用limit对数据进行限定

 <sql id="pageUtil">
limit #{startNum},#{pagesize}
</sql>
上一篇:使用CuteSlider做网站炫酷的幻灯片


下一篇:iOS 视频播放 - YVideoPlayer - UIView