如果这篇文章能给你带来帮助,不胜荣幸,如果有不对的地方也请批评指正 共同进步,废话不多说直接上代码。
首先来讲你可以使用page的分页插件,也可以不使用我没有使用,所以得展示部分sql语句。总体来说sql语句的代码就是:select * from table where 1=1 limit start,num
其中start为起始下标,num为展示多少条。具体看下面
<select id="selectByPageBean" resultMap="BaseResultMap"> select * from registration_of_cases where 1=1 limit #{pageBean.start},#{pageBean.pageSize} </select>
然后需要创建一个分页类:分页累的作用就是简单地给你进行一下计算,比如说传入当前的页数 可以得到查询的起始位置等等不在一一赘述,看代码
package com.social.util; import java.util.List; public class PageBean { private int pageSize = 5;//每页数量 private int pageNum = 1;//默认当前是第一页 private int total = 0;//总条数 private int totalPage = 0;//总页数 private int start = 0;//起始位置 private List rows;//接受数据的集合 private String url="";//请求的路径 public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public int getTotalPage() { int pageCount = 0; if(total%pageSize==0) { pageCount=total/pageSize; }else { pageCount=total/pageSize+1; } totalPage = pageCount; return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getStart() { start = (pageNum-1)*pageSize; return start; } public void setStart(int start) { this.start = start; } public List getRows() { return rows; } public void setRows(List rows) { this.rows = rows; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } @Override public String toString() { return "PageBean [pageSize=" + pageSize + ", pageNum=" + pageNum + ", total=" + total + ", totalPage=" + totalPage + ", start=" + start + ", rows=" + rows + ", url=" + url + "]"; } }
在写这个之前,还得写一个查询所有的方法,如果你牛逼其实一个方法也可以,这篇文章就是给基础的看的。接着往下
后台的工作目前做到这里就算差不多的了 现在来看一下前台界面你需要写一部分js 上代码:
首先引入相关的js和css样式 例如:
<script src="plugins/jQuery/jquery-2.2.3.min.js"></script> <script src="plugins/bootstrap/js/bootstrap.min.js"></script> <link rel="stylesheet" href="plugins/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="plugins/angularjs/pagination.css"> <script type="text/javascript" src="plugins/angularjs/pagination.js"></script> <script type="text/javascript" src="plugins/angularjs/angular.min.js"></script>
然后接着上具体的前段代码 部分解释代码中见:
<script type="text/javascript"> var app = angular.module(‘lfxr‘, [ ‘pagination‘ ]);//其中pagination 对应的是 pagination.js里面的值 app.controller(‘FirstController‘, function($scope, $http) { //声明方法 $scope.findAll = function() {
//发送请求 得到相应和返回的结果 $http.get(‘http://localhost:80/mysocial/pagefind‘).success(function(response) { $scope.list = response.row;//用list容器来接受得到的结果 其中这个response跟后台返回的数据相对应 }); } //初始化和点击时给部分分页的参数进行一个赋值 $scope.paginationConf = { currentPage : 1,//当前页 totalItems : 20,//总数 itemsPerPage : 5,//每页个数 perPageOptions : [ 5, 10, 15, 20, 50 ],//分页选项 onChange : function() {//当更改页码时,自动触发分页查询方法 $scope.reloadlist(); } }; //有改变的时候调用重新加载的方法 $scope.reloadlist = function() {//方法里面有两个参数 当前页和每页多少条 $scope.findPage($scope.paginationConf.currentPage, $scope.paginationConf.itemsPerPage); } //根据条件进行分页查询 $scope.findPage = function(pageNum, pageSize) { $http.get( ‘http://localhost:80/mysocial/pagefind?pageNum=‘ + pageNum + ‘&pageSize=‘ + pageSize + ‘‘).success(function(response) { $scope.list = response.rows;//显示当前页数据 $scope.paginationConf.totalItems = response.total;//更新总记录数 }); } }); </script>
具体的html界面上的代码:
<tr ng-repeat="entity in list"> <!-- 你可以吧repeat当成foreach来理解 其中 list是上面接收的集合 entity是用来循环展示的变量 --> <td><input type="checkbox"></td> <td>{{entity.unitName}}</td> <!-- 通过对象.属性的方式来进行一个展示数据 --> <td>{{entity.organizationalCode}}</td> <td>{{entity.nameOfTheComplainant}}</td> </tr>
<!-- 最后在你的前台html界面上进行一个插件html的引入-->
<tm-pagination conf="paginationConf"></tm-pagination>
最后展示后台代码:查询所有的的代码我就不展示了,反正也是得返回一个pagebean 要不然你前台获取的时候获取不到相对应的值
·
@RequestMapping("/pagefind") @ResponseBody public PageBean pagefind(Integer pageNum,Integer pageSize){ PageBean pageBean = new PageBean(); pageBean.setPageSize(pageSize); pageBean.setPageNum(pageNum); List<RegistrationOfCases> selectByPageBean = firstService.selectByPageBean(pageBean); pageBean.setRows(selectByPageBean); pageBean.setTotal(selectByPageBean.size()); return pageBean; }