前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

1. maven依赖:

 <!-- 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>3.4.2-fix</version></dependency>

2.  在sqlMapConfig.xml中配置:

 <!-- 配置分页插件 --><plugins><plugin interceptor="com.github.pagehelper.PageHelper"><!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->        <property name="dialect" value="mysql"/><!-- 该参数默认为false -->  <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->  <!-- 和startPage中的pageNum效果一样-->  <property name="offsetAsPageNum" value="true"/>  <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 -->  <property name="rowBoundsWithCount" value="true"/>  <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->  <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->  <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->  <property name="reasonable" value="true"/>  <!-- 支持通过Mapper接口参数来传递分页参数 -->  <property name="supportMethodsArguments" value="true"/>  <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->  <property name="returnPageInfo" value="check"/>  </plugin></plugins>

3. 查询sql写法不变,只是不用作分页 :

 <!-- 查询管理员信息 --><select id="selectAuthAdmin" parameterType="AuthAdmin" resultMap="authAdminResultMap">SELECT ID, ACCOUNT,PASSWORD,SALT,ROLE_IDS,ROLE_NAME,RES_IDS,LOCKEDFROM TS_AUTH_ADMIN         </select>

4.   serviceImpl 中接收从mapper.xml中查到的结果,运用pagehelper分页 。

pagehelper会根据配置确定使用的数据库,自动拦截sql拼上对应分页部分语句再执行sql。

可从控制台查看输入的sql 就是带了分页语句的。

参数  pageNum - 第N页, pageSize - 每页M条数

如:PageHelper.startPage(1, 10);   就是第1条到第10条,数据库数据不足10条,就有多少条返回多少条。

 /*** 分页获取用户信息* @param pageNum* @param pageSize* @return* @throws Exception*/@Overridepublic PageInfo<AuthAdmin> selectAuthAdminByPage(Integer pageNum, Integer pageSize ,AuthAdmin adm)throws Exception {PageHelper.startPage(pageNum, pageSize);// 所有用户信息List<AuthAdmin> authAdmins = _authAdminMapper.selectAuthAdmin(adm);if(authAdmins == null){return null;}PageInfo<AuthAdmin> pageInfo = new PageInfo<AuthAdmin>(authAdmins);return pageInfo;}

5.controller中拿到已经分好页的数据 :(在哪得最终数据不重要,controller、service中都可以,只是封装成pageInfo对象后,就从这个对象身上得。)

 // 加载用户列表@ResponseBody@RequestMapping("/adminList")public Object adminList(Model model, int draw, int start, int length ,AuthAdmin adm)throws Exception{_logger.info("++++  展示用户列表  ++++");PageInfo<AuthAdmin> pageInfo = _authAdminService.selectAuthAdminByPage((start/length)+1 ,length ,adm);Map<String, Object> map = new HashMap<String, Object>();List<Object> data = new ArrayList<Object>();for(AuthAdmin admin : pageInfo.getList()){Map<String, Object> obj = new HashMap<String, Object>();obj.put("id", admin.getId());obj.put("account", admin.getAccount());obj.put("locked", admin.getLocked());obj.put("roleIds", admin.getRoleIds());obj.put("roleName", admin.getRoleName());obj.put("resIds", admin.getResIds());data.add(obj);}map.put("draw", draw);map.put("recordsTotal", pageInfo.getTotal());map.put("recordsFiltered", pageInfo.getTotal());map.put("data", data);return map;}

如上图 pageInfo.getList()就可以得到 分页后的数据。 pageInfo.getTotal()可以得到总记录数。

另有一别人的博客讲这个插件的也推荐:http://www.cnblogs.com/xiaoxinwt/p/5329840.html

分页插件pageHelpler的使用(ssm框架中)服务器端分页相关推荐

  1. ssm框架中利用pagehelper分页,完成模糊查询与select条件查询

    ssm框架中利用pagehelper分页,完成模糊查询与select条件查询 一.问题分析 1.1 往期回顾 pagehelper分页 https://blog.csdn.net/Jia_Peng_T ...

  2. SSM框架中使用Spring的@Transactional注解进行事务管理

    一 介绍 在企业级应用中,保护数据的完整性是非常重要的一件事.因此不管应用的性能是多么的高.界面是多么的好看,如果在转账的过程中出现了意外导致用户的账号金额发生错误,那么这样的应用程序也是不可接受的 ...

  3. SSM框架中的前后端分离

    认识前后端分离 在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线.将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称为后端. ...

  4. SSM框架中 出现的406 (Not Acceptable)

    首先,需要清楚,http state 406代表什么意思: 406是HTTP协议状态码的一种,表示无法使用请求的特性来响应请求的网页.一般指客户端浏览器不接受所请求页面的MIME类型. 出现这样的错误 ...

  5. 关于Vue admin 框架中 Pagination 分页 异步加载的问题

    关于Vue admin 框架中 Pagination 分页 异步加载的问题 贴代码 核心代码: this.$emit('update:page', this.currentPage) this.$em ...

  6. 在ssm框架中进行删除数据是报错has an unsupported return type

    项目场景: 在ssm框架中进行删除数据是报错Request processing failed; nested exception is org.apache.ibatis.binding.Bindi ...

  7. SSM框架中分页插件pageHelper的使用实例

    文章目录 分页原理 1.导入依赖 2.在mybatis配置文件中配置 3.controller 4.前端展示 5.pageInfo工具类中的属性 分页原理 物理分页 实现原理: SELECT * FR ...

  8. ssm框架解读oracle,分页查询显示action的笔记SSM框架分页oracle数据库

    SSM框架简单分页 分页类代码分页的例1 package http://www.doczj.com/doc/db3d98ab69eae009591bec1b.htmlmon.dto; public c ...

  9. ssm框架中前台html如何接受后台的数据_计算机毕业设计中实现java后台的微信小程序...

    点击上方"蓝字",关注我们. 毕业设计做微信小程序+java后台.从对微信小程序一无所知到完成毕设,碰到许多问题,在跟大家分享一下自己的经历和一个小程序怎么从零开始.希望小程序初学 ...

最新文章

  1. 左室短轴切面_4声窗7切面搞定急诊超声心动图:由浅入深学TTE急诊“心”事
  2. 从贫困的“问题少年”到计算机博士,最后成为商界泰斗,“创业之神”吉姆•克拉克是如何走向封神之路的?...
  3. 笨办法学C 练习22:栈、作用域和全局
  4. 凡客诚品-工作经历 程序员你有一个感恩的心吗?
  5. MongoDB开发学习开天辟地,经典入门
  6. 5G全球声量升级:Verizon宣布固定+移动齐步走,中国第三阶段试验倒计时
  7. 推荐系统:MovivLens20M数据集解析
  8. XML——流机制解析器
  9. 51单片机外部中断实验 设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管
  10. hexo没有样式_一款被大厂选用的 Hexo 博客主题
  11. linux安装替换python3,linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
  12. 知乎“下沉”,快手“上游”
  13. 【三维路径规划】基于matlab无人机三维路径规划【含Matlab源码 1262期】
  14. 捷联惯导算法与组合导航原理讲义捷联惯导基础知识剖析目录
  15. unity3d 常用代码
  16. oracle trap,配置SNMP trap
  17. 前端tif文件在线预览
  18. 软件设计师必考精华 - 面相对象
  19. gitlab 403 forbidden
  20. android 蓝牙自动连接,蓝牙自动连接实现

热门文章

  1. mysql 事务实例_mysql实现事务的提交和回滚实例
  2. php调用sql数据库代码怎么写,PHP读取SQL文件并导入数据库(示例)
  3. CCNA-第十二篇-STP+ACL(下)
  4. 【Leetcode - 172】阶乘后的零(思维)
  5. 【BZOJ - 4318】OSU!(概率dp,数学期望,期望的线性性)
  6. Apollo进阶课程㊸丨Apollo实战——障碍物感知和路径规划能力实战
  7. 机器学习笔记(2):单变量线性回归
  8. 使用tcpdump,adb进行手机抓包
  9. eclipse 跑maven命令_eclipse中运行maven命令没有反应,console也不出现信息
  10. springboot的原生cache_springboot-shiro-redis-session-cache