这里写自定义目录标题

  • 分页器Pagerhelper
    • 其中的属性
    • mapper
    • service
      • interface
      • impl
    • controller
      • 主页面
      • 页面

分页器Pagerhelper

其中的属性

    //当前页private int pageNum;//每页的数量private int pageSize;//当前页的数量private int size;//由于startRow和endRow不常用,这里说个具体的用法//可以在页面中"显示startRow到endRow 共size条数据"//当前页面第一个元素在数据库中的行号private int startRow;//当前页面最后一个元素在数据库中的行号private int endRow;//总记录数private long total;//总页数private int pages;//结果集private List<T> list;//前一页private int prePage;//下一页private int nextPage;//是否为第一页private boolean isFirstPage;//是否为最后一页private boolean isLastPage;//是否有前一页private boolean hasPreviousPage;//是否有下一页private boolean hasNextPage;//导航页码数private int navigatePages;//所有导航页号private int[] navigatepageNums;//导航条上的第一页private int navigateFirstPage;//导航条上的最后一页private int navigateLastPage;public PageInfo() {this.isFirstPage = false;this.isLastPage = false;this.hasPreviousPage = false;this.hasNextPage = false;}            

mapper

@Mapper
public interface UserMapper {@Select("select user_name as userName,password,status from user")List<UserBean> getList(RowBounds rowBounds);@Select("select count(id) from user")Integer getCount();}

service

interface

public interface UserService {
//    Page getList(Integer page, Integer recPerPage);PageInfo getList(Integer page, Integer recPerPage);}

impl

//    @Override
//    public Page getList(Integer page, Integer recPerPage) {
//        Page resultPage = new Page();
//        resultPage.setResult("success");
//        if(page<=0)page=1;
//        Integer offset = (page-1)*recPerPage;
//        RowBounds rowBounds = new RowBounds(offset,recPerPage);
//        List<UserBean> userList = userMapper.getList(rowBounds);
//        resultPage.setData(userList);
//        Pager pager = new Pager();
//        pager.setPage(page);
//        pager.setPage(recPerPage);
//        pager.setRecTotal(userMapper.getCount());
//        resultPage.setPager(pager);
//        return resultPage;
//    }@Overridepublic PageInfo getList(Integer page, Integer recPerPage) {if(page<=0)page=1;Integer offset = (page-1)*recPerPage;RowBounds rowBounds = new RowBounds(offset,recPerPage);
//        PageHelper.startPage(offset,recPerPage);List<UserBean> userList = userMapper.getList(rowBounds);PageInfo pageInfo = new PageInfo(userList);//总页数if(userMapper.getCount() / recPerPage == 0)pageInfo.setPages(userMapper.getCount() / recPerPage);else  pageInfo.setPages(userMapper.getCount() / recPerPage +1);//当前页pageInfo.setPageNum(page);//总数pageInfo.setTotal(userMapper.getCount());//下一页pageInfo.setNextPage(page +1);//上一页if(page >1 )pageInfo.setPrePage(page -1);else  pageInfo.setPrePage(1);
//        最后和第一页  NavigatePages:所有的导航页 默认显示八个,导航最多八个pageInfo.setNavigateFirstPage(1);pageInfo.setNavigateLastPage(pageInfo.getPages());return pageInfo;}

controller

 @RequestMapping("/user_list")public String  getUserList(Integer page,Integer recPerPage){// ApplicationContext context =new ClassPathXmlApplicationContext("spring-mybatis.xml");// UserService userService = (UserService) context.getBean("userServiceImpl");//Integer page = Integer.parseInt(req.getParameter("page")) ;//Integer recPerPage = Integer.parseInt(req.getParameter("recPerPage"));PageInfo page1 = userService.getList(page,recPerPage);//System.out.println(page1);// String result = JSONObject.toJSONString(page1);return result;}

前端页面

    createApp({data() {return {message: 'Hello Vue!',username: "",password: "",index: "",length: '',pageInfo: {total: "",startRow: 0,size: "",prePage: "",pages: "",pageSize: "",pageNum: "",nextPage: "",navigatepageNums: "",navigatePages: "",navigateLastPage: "",navigateFirstPage: "",isLastPage: "",isFirstPage:"",hasPreviousPage:"",hasNextPage:""},list: {userName:"",password:"",status:""},cols: ["用户名","密码","状态"],array: ""}},methods: {//请求数据getlist(page, recperpage){console.log(page)axios.get("/IdeaProject_1_0_SNAPSHOT_war/user_list",{params:{page: page,recPerPage:recperpage}}).then(response => {console.log(response.data)this.array = response.data.list;this.pageInfo.total = response.data.total;this.pageInfo.pageNum = response.data.pageNum;this.pageInfo.prePage = response.data.prePage;this.pageInfo.nextPage = response.data.nextPage;}).catch(err =>{console.log(err)})},next(){this.getlist(this.pageInfo.nextPage, this.pageInfo.size)},pre(){this.getlist(this.pageInfo.prePage, this.pageInfo.size)},goto(i){this.getlist(i, this.pageInfo.size)},mounted() {axios.get("/IdeaProject_1_0_SNAPSHOT_war/user_list",{params:{page: 1,recPerPage:4}}).then(response => {console.log(response.data)this.array = response.data.list;this.length = response.data.list.length;this.pageInfo.total = response.data.total;this.pageInfo.pageNum = response.data.pageNum;this.pageInfo.prePage = response.data.prePage;this.pageInfo.nextPage = response.data.nextPage;this.pageInfo.pageSize = response.data.pageSize;this.pageInfo.size = response.data.size;this.pageInfo.navigateFirstPage = response.data.navigateFirstPage;this.pageInfo.navigateLastPage = response.data.navigateLastPage;console.log(this.pageInfo)}).catch(err =>{console.log(err)})}}).mount('#app')

主页面

        <div class="panel-body panel-info"><!-- <div id="mydatagrid" class="datagrid datagrid-striped"> --><table class="table"><thead><tr><th v-for="(item, index) in cols">{{item}}</th><th>操作</th></tr></thead><tbody><tr v-for="(item, index) in array" v-bind:key="item.id"><td>{{item.userName}}</td><td>{{item.password}}</td><td>{{item.status}}</td><td><button class='btn btn-sm btn-info modify' @click="get(index)">修改</button> <buttonclass='btn btn-sm btn-danger delete' @click="del(index)">删除</button><button class='btn btn-sm btn-info detail' @click="detail(index)">查看详情</button></td></tr></tbody></table><ul class="pager" ><li class="previous"><button href="your/nice/url" @click="pre()">«</button></li><li  v-for="i in pageInfo.navigateLastPage"><button href="your/nice/url" @click="goto(i)">{{i}}</button></li><li class="next"><button href="" @click="next()">»</button></li></ul><!-- </div> --></div></div>

页面

分页器Pagerhelper相关推荐

  1. uni-app 之 使用扩展组件(uni ui) Pagination 分页器使用示例

    先贴出 分页器文档的地址: Pagination 分页器 使用步骤: 1.下载或者导入插件到你的项目: 2.在需要使用的页面引入该插件. 使用操作: 1.下载或者导入插件到你的项目: 导入的操作流程示 ...

  2. ajax分页node,分页数据(使用 paginate 方法)《 Node.js 应用:分页器 》

    先访问一下我们的网站上的 posts 这个页面 .. 这个是一个内容列表页面 ... 它会显示网站里面的所有的 posts 内容 .. 现在我要给这个页面添加一个分页器,可以分页显示内容 .. 先得去 ...

  3. Django 分页器模板

    返回链接: djang ORM 分页器模板: class Pagination(object):def __init__(self,current_page,all_count,per_page_nu ...

  4. Django - 分页器

    一.分页器: 知识点先览 Paginator:Django分页器bulk_create:批量插入数据paginator.count:数据总数,其中paginator是分页器实例化对象paginator ...

  5. Django框架----分页器(paginator)

    Django的分页器(paginator) view.py from django.shortcuts import render,HttpResponse# Create your views he ...

  6. page 怎么把list 分页_自定义分页器的实现

    前言 django也有自带额分页器,但是功能较少,使用起来较为繁琐.所以我们可以使用自定义非分页器. 自定义分页器的推导思路 # queryset对象是支持索引切片操作的(不支持负数索引) book_ ...

  7. python 全栈开发,Day79(Django的用户认证组件,分页器)

    一.Django的用户认证组件 用户认证 auth模块 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中: 如果用户存在于数据库中,然后再验证用户 ...

  8. Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

    阅读目录 一.MVC与MTV 二.多对多表的创建 三.ajax,前后端传输编码格式contentType 四.批量插入数据与自定义分页器 摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端 ...

  9. element ui分页怎么做_Vue Element分页器

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>分页& ...

最新文章

  1. linux企业常用命令必之必会二
  2. python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门
  3. ML之FE:利用FE特征工程(分析两两数值型特征之间的相关性)对AllstateClaimsSeverity(Kaggle2016竞赛)数据集实现索赔成本值的回归预测
  4. boost::empty_value的实例
  5. Android WebView 开发详解(一)
  6. 吴恩达DeepLearningCourse2-改善深层神经网络:超参数调试、正则化以及优化
  7. [看书笔记]《深入java虚拟机》——java体系结构(二)
  8. vivado顶层模块怎么建_【第2040期】Node 模块化之争:为什么 CommonJS 和 ES Modules 无法相互协调...
  9. css 解析器 java_Java 的 CSS 解析器 jStyleParser
  10. JAVA学习-----容器和数据结构
  11. java 模式匹配_java模式匹配之蛮力匹配
  12. Linux下使用SFTP命令
  13. php公众号后台,微信公众号后台管理系统
  14. MATLAB中的FFT函数以及频谱泄露
  15. js获取某月的天数以及某天的前一个日期和后一天日期
  16. 100以内的勾股数python_Python实现获取前100组勾股数的方法
  17. 几个免费的高清图片网站推荐
  18. day02 软考习题理解
  19. Web 2.3.2 OpenVAS使用初探 / GVM使用入门教程(超详细)
  20. arm服务器芯片尺寸,华为公开ARM服务器芯片“Hi1620”:7nm+64核心

热门文章

  1. iphone内存管理(二)
  2. PHP和Python该如何抉择?现在PHP还有前景吗?
  3. 22个关于ES6的最新面试题汇总整理
  4. Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)
  5. 工信部总工程师:建设网络强国振兴实体经济
  6. 微信小程序—自定义组件
  7. 数据结构与算法之hashmap散列表查找
  8. 搜索引擎优化是什么,搜索引擎优化应该怎么学?
  9. 模拟自由落体运动的小球
  10. 历史上的今天:PHP公开发布;iPhone 4 问世;万维网之父诞生